a6b0fc0c26a66e169d21046d1be307d5d29783f7
[akkoma] / docs / installation / migrating_to_akkoma.md
1 # Migrating to Akkoma
2
3 **Akkoma does not currently have a stable release, until 3.0, all builds should be considered "develop**
4
5 ## Why should you migrate?
6
7 aside from actually responsive maintainer(s)? let's lookie here, we've got
8 - custom emoji reactions
9 - misskey markdown (MFM) rendering and posting support
10 - elasticsearch support (because pleroma search is GARBAGE)
11 - latest develop pleroma-fe additions
12 - local-only posting
13 - probably more, this is like 3.5 years of IHBA additions finally compiled
14
15 ## Actually migrating
16
17 Let's say you're very cool and have decided to move to the cooler
18 fork of Pleroma - luckily this isn't very hard.
19
20 You'll need to update the backend, then possibly the frontend, depending
21 on your setup.
22
23 ## From Source
24
25 If you're running the source Pleroma install, you'll need to set the
26 upstream git URL then just rebuild - that'll be:
27
28 ```bash
29 git remote set-url origin https://akkoma.dev/AkkomaGang/akkoma.git/
30 git fetch origin
31 git pull -r
32 ```
33
34 Then compile, migrate and restart as usual.
35
36 ## From OTP
37
38 This will just be setting the update URL -
39
40 ```bash
41 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")
42
43 ./bin/pleroma_ctl update --zip-url https://akkoma-updates.s3-website.fr-par.scw.cloud/develop/akkoma-$FLAVOUR.zip
44 ./bin/pleroma_ctl migrate
45 ```
46
47 Then restart. When updating in the future, you canjust use
48
49 ```bash
50 ./bin/pleroma_ctl update --branch develop
51 ```
52
53 ## Frontend changes
54
55 Akkoma comes with a few frontend changes as well as backend ones,
56 your upgrade path here depends on your setup
57
58 ### I just run with the built-in frontend
59
60 You'll need to run a single command,
61
62 ```bash
63 # From source
64 mix pleroma.frontend install pleroma-fe
65 # OTP
66 ./bin/pleroma_ctl frontend install pleroma-fe
67 ```
68
69 ### I've run the mix task to install a frontend
70
71 Hooray, just run it again to update the frontend to the latest build.
72 See above for that command.
73
74 ### I compile the JS from source
75
76 Your situation will likely be unique - you'll need the changes in the
77 [forked pleroma-fe repository](https://akkoma.dev/AkkomaGang/pleroma-fe),
78 and either merge or cherry-pick from there depending on how you've got
79 things.