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.