Merge pull request 'remove the docs for stuff i didn't do' (#72) from remove-weird...
[akkoma] / docs / 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
9 - custom emoji reactions
10 - misskey markdown (MFM) rendering and posting support
11 - elasticsearch support (because pleroma search is GARBAGE)
12 - latest develop pleroma-fe additions
13 - local-only posting
14 - probably more, this is like 3.5 years of IHBA additions finally compiled
15
16 ## Actually migrating
17
18 Let's say you're very cool and have decided to move to the cooler
19 fork of Akkoma - luckily this isn't very hard.
20
21 You'll need to update the backend, then possibly the frontend, depending
22 on your setup.
23
24 ## From Source
25
26 If you're running the source Akkoma install, you'll need to set the
27 upstream git URL then just rebuild - that'll be:
28
29 ```bash
30 git remote set-url origin https://akkoma.dev/AkkomaGang/akkoma.git/
31 git fetch origin
32 git pull -r
33 ```
34
35 Then compile, migrate and restart as usual.
36
37 ## From OTP
38
39 **IMPORTANT: if you are using musl1.1 (void linux musl edition),
40 you will need to override the FLAVOUR to amd64-musl11,
41 also pls go shout at your maintainers to actually upgrade from EOL software.**
42
43 the flavour to be
44
45 This will just be setting the update URL -
46
47 ```bash
48 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")
49
50 ./bin/pleroma_ctl update --zip-url https://akkoma-updates.s3-website.fr-par.scw.cloud/develop/akkoma-$FLAVOUR.zip
51 ./bin/pleroma_ctl migrate
52 ```
53
54 Then restart. When updating in the future, you canjust use
55
56 ```bash
57 ./bin/pleroma_ctl update --branch develop
58 ```
59
60 ## Frontend changes
61
62 Akkoma comes with a few frontend changes as well as backend ones,
63 your upgrade path here depends on your setup
64
65 ### I just run with the built-in frontend
66
67 You'll need to run a single command,
68
69 ```bash
70 # From source
71 mix pleroma.frontend install pleroma-fe
72 # OTP
73 ./bin/pleroma_ctl frontend install pleroma-fe
74 ```
75
76 ### I've run the mix task to install a frontend
77
78 Hooray, just run it again to update the frontend to the latest build.
79 See above for that command.
80
81 ### I compile the JS from source
82
83 Your situation will likely be unique - you'll need the changes in the
84 [forked pleroma-fe repository](https://akkoma.dev/AkkomaGang/pleroma-fe),
85 and either merge or cherry-pick from there depending on how you've got
86 things.