Preparing¶
The release page contains a changelog, and below it, upgrade instructions. Read and understand the release instructions.
Some tasks (like database migrations) can take a while, so we advise you to run commands inside a tmux
or screen
.
Backup¶
Always make sure your database and config
folder are properly backuped before performing upgrades.
Unless stated otherwise in the release notes, the following steps are enough to upgrade Mobilizon.
Steps¶
Fetch latest code¶
Switch to the mobilizon
user:
sudo -i -u mobilizon
And navigate to the Mobilizon root directory:
cd /home/mobilizon/live
Fetch the latest tags
git fetch --tags
And checkout the tag you want to switch to. For instance, if I want to upgrade to version v1.1
:
git checkout v1.1
Fetch new dependencies¶
Fetch new and/or updated Elixir and NodeJS dependencies
MIX_ENV=prod mix deps.get
npm install
Rebuild Mobilizon's front-end¶
Warning
Building front-end can consume up to 2048MB of RAM by default. If it's too much or not sufficient for your setup, you can adjust the maximum memory used by prefixing the command with the following option:
NODE_BUILD_MEMORY=1024
npm run build
Recompile Mobilizon¶
MIX_ENV=prod mix compile
Create a digest of the static assets
MIX_ENV=prod mix phx.digest
Let's switch back to your regular user.
Stop running Mobilizon processes¶
sudo systemctl stop mobilizon
Perform database migrations¶
Go back to the mobilizon
user.
sudo -i -u mobilizon
cd live
MIX_ENV=prod mix ecto.migrate
Restart Mobilizon¶
Let's switch back one last time to your regular user.
sudo systemctl restart mobilizon
You can follow the Mobilizon logs to check that everything works properly.
sudo journalctl -u mobilizon -f
That’s all! You’re running the new version of Mobilizon now.
If you have issues after upgrading, try reviewing upgrade steps and release notes. Then feel free to contact us or file an issue on our Gitlab