forked from potsda.mn/mobilizon
d5c90af809
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
97 lines
2.2 KiB
Markdown
97 lines
2.2 KiB
Markdown
---
|
||
title: Upgrading to a new release
|
||
---
|
||
|
||
# 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:
|
||
|
||
```bash
|
||
sudo -i -u mobilizon
|
||
```
|
||
|
||
And navigate to the Mobilizon root directory:
|
||
|
||
```bash
|
||
cd /home/mobilizon/live
|
||
```
|
||
|
||
Fetch the latest tags
|
||
```bash
|
||
git fetch --tags
|
||
```
|
||
|
||
And checkout the tag you want to switch to. For instance, if I want to upgrade to version `v1.1`:
|
||
```bash
|
||
git checkout v1.1
|
||
```
|
||
|
||
### Fetch new dependencies
|
||
Fetch new and/or updated Elixir and NodeJS dependencies
|
||
```bash
|
||
MIX_ENV=prod mix deps.get
|
||
```
|
||
```bash
|
||
cd js
|
||
yarn 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
|
||
```
|
||
```bash
|
||
yarn run build
|
||
cd ../
|
||
```
|
||
|
||
### Recompile Mobilizon
|
||
```bash
|
||
MIX_ENV=prod mix compile
|
||
```
|
||
Let's switch back to your regular user.
|
||
|
||
### Stop running Mobilizon processes
|
||
```bash
|
||
sudo systemctl stop mobilizon
|
||
```
|
||
|
||
### Perform database migrations
|
||
|
||
Go back to the `mobilizon` user.
|
||
```bash
|
||
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.
|
||
```bash
|
||
sudo systemctl restart mobilizon
|
||
```
|
||
|
||
You can follow the Mobilizon logs to check that everything works properly.
|
||
```bash
|
||
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](../about.md#discuss) or file an issue on [our Gitlab](https://framagit.org/framasoft/mobilizon/issues)
|