# 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:
- 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
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:
+
+```bash
+MIX_ENV=prod mix ecto.rollback --migrations-path priv/repo/optional_migrations/pleroma_develop_rollbacks -n3
+```
-**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.**
+Then compile, migrate and restart as usual.
-the flavour to be
+## From OTP
-This will just be setting the update URL -
+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
### 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
[forked pleroma-fe repository](https://akkoma.dev/AkkomaGang/pleroma-fe),
and either merge or cherry-pick from there depending on how you've got
things.
+
+## Common issues
+
+### The frontend doesn't show after installing it
+
+This may occur if you are using database configuration.
+
+Sometimes the config in your database will cause akkoma to still report
+that there's no frontend, even when you've run the install.
+
+To fix this, run:
+
+=== "OTP"
+ ```sh
+ ./bin/pleroma_ctl config delete pleroma frontends
+ ```
+
+=== "From Source"
+ ```sh
+ mix pleroma.config delete pleroma frontends
+ ```
+
+which will remove the config from the database. Things should work now.
\ No newline at end of file