Add rollbacks for associated_object_id
[akkoma] / docs / docs / installation / migrating_to_akkoma.md
index 181f6dae639ac52c5fdeb7887089902ab2321d41..b64cdd056e2883688ca3ef2d3911f2ef732c9018 100644 (file)
@@ -1,7 +1,5 @@
 # Migrating to Akkoma
 
-**Akkoma does not currently have a stable release, until 3.0, all builds should be considered "develop"**
-
 ## Why should you migrate?
 
 aside from actually responsive maintainer(s)? let's lookie here, we've got:
@@ -11,6 +9,8 @@ aside from actually responsive maintainer(s)? let's lookie here, we've got:
 - elasticsearch support (because pleroma search is GARBAGE)
 - latest develop pleroma-fe additions
 - local-only posting
+- automatic post translation
+- the mastodon frontend back in all its glory
 - probably more, this is like 3.5 years of IHBA additions finally compiled
 
 ## Actually migrating
@@ -30,31 +30,36 @@ upstream git URL then just rebuild - that'll be:
 git remote set-url origin https://akkoma.dev/AkkomaGang/akkoma.git/
 git fetch origin
 git pull -r
+# or, if you're on an instance-specific branch, you may want
+# to run "git merge stable" instead (or develop if you want)
 ```
 
-Then compile, migrate and restart as usual.
+### WARNING - Migrating from Pleroma Develop
+If you are on pleroma develop, and have updated since 2022-08, you may have issues with database migrations.
 
-## From OTP
+Please roll back the given migrations:
 
-**IMPORTANT: if you are using musl1.1 (void linux musl edition),
-you will need to override the FLAVOUR to amd64-musl11, 
-also pls go shout at your maintainers to actually upgrade from EOL software.**
+```bash
+MIX_ENV=prod mix ecto.rollback --migrations-path priv/repo/optional_migrations/pleroma_develop_rollbacks -n3
+```
 
-the flavour to be
+Then compile, migrate and restart as usual.
 
-This will just be setting the update URL -
+## From OTP
+
+This will just be setting the update URL - find your flavour from the [mapping on the install guide](../otp_en/#detecting-flavour) first.
 
 ```bash
-export FLAVOUR=$(arch="$(uname -m)";if [ "$arch" = "x86_64" ];then arch="amd64";elif [ "$arch" = "armv7l" ];then arch="arm";elif [ "$arch" = "aarch64" ];then arch="arm64";else echo "Unsupported arch: $arch">&2;fi;if getconf GNU_LIBC_VERSION>/dev/null;then libc_postfix="";elif [ "$(ldd 2>&1|head -c 9)" = "musl libc" ];then libc_postfix="-musl";elif [ "$(find /lib/libc.musl*|wc -l)" ];then libc_postfix="-musl";else echo "Unsupported libc">&2;fi;echo "$arch$libc_postfix")
+export FLAVOUR=[the flavour you found above]
 
-./bin/pleroma_ctl update --zip-url https://akkoma-updates.s3-website.fr-par.scw.cloud/develop/akkoma-$FLAVOUR.zip
+./bin/pleroma_ctl update --zip-url https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-$FLAVOUR.zip
 ./bin/pleroma_ctl migrate
 ```
 
 Then restart. When updating in the future, you canjust use
 
 ```bash
-./bin/pleroma_ctl update --branch develop
+./bin/pleroma_ctl update --branch stable
 ```
 
 ## Frontend changes
@@ -64,14 +69,20 @@ your upgrade path here depends on your setup
 
 ### I just run with the built-in frontend
 
-You'll need to run a single command,
+You'll need to run a couple of commands,
 
-```bash
-# From source
-mix pleroma.frontend install pleroma-fe
-# OTP
-./bin/pleroma_ctl frontend install pleroma-fe
-```
+=== "OTP"
+    ```sh
+    ./bin/pleroma_ctl frontend install pleroma-fe --ref stable
+    # and also, if desired
+    ./bin/pleroma_ctl frontend install admin-fe --ref stable
+    ```
+
+=== "From Source"
+    ```sh
+    mix pleroma.frontend install pleroma-fe --ref stable
+    mix pleroma.frontend install admin-fe --ref stable
+    ```
 
 ### I've run the mix task to install a frontend