Upgrading a Fediverse Soapbox Installation to the Develop Branch
The Fediverse is a very unique place with a vast array of software offerings.
My present favorite option for Fediverse software is Soapbox. It adds features at a relatively rapid pace, utilizing an actively developed fork of Pleroma on the backend to facilitate the addition of features such as quote posts that aren't typically available on other fediverse platforms.
The instructions for installation of Soapbox are available here: https://soapbox.pub/install/
If you would like access to the newest features and improvements made to Soapbox, you can switch to the
develop branch (some features of the develop branch frontend require the develop branch backend to function, so both need to be upgraded). While the
develop branch is still in the testing phase and provided 'as-is' without any warranty, many of the largest and most active Fediverse Soapbox instances utilize it without issue(and I personally strongly prefer it from a performance standpoint).
You can upgrade to the
develop branch by running the following commands on an existing built-from-source Soapbox install that uses
asdf to manage Erlang/Elixir versions(you can switch the the
asdf managed package from repo packages via the instructions here):
cd /opt/pleroma sudo -Hu pleroma bash git remote set-url origin https://gitlab.com/soapbox-pub/soapbox.git git fetch origin --tags git checkout develop
It is likely that you will need to update your toolchain via running
asdf install as the Pleroma user.
This may install new plugin versions- in such a case, you'll see a message similar to the below:
Erlang 24.1.6 has been installed. Activate globally with: asdf global erlang 24.1.6 Activate locally in the current folder with: asdf local erlang 24.1.6
Make sure to activate the new plugin versions prior to running additional commands. The following commands will recompile Soapbox BE:
mix local.hex --force mix local.rebar --force mix deps.get MIX_ENV=prod mix compile
If you started with a Pleroma version prior to 2.3, the database will also require migrating:
MIX_ENV=prod mix ecto.migrate
It's not likely that the
systemd service file will change frequently, but it's best practice to copy over the most recent version pulled via:
cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service systemctl enable --now pleroma.service
Once the Pleroma service restarts, you can then install(the process is also identical for updating) the develop branch for the frontend, which is pretty trivial to accomplish. First, run:
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
Then, unzip the new front end into place via:
busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance
At this stage, you should be able to view your timeline successfully and enjoy the improvements of the develop branch.