funkwhale/docs/administrator/upgrade/debian.md

105 lines
2.9 KiB
Markdown

# Upgrade your Debian Funkwhale installation
If you installed Funkwhale following the [Debian guide](../installation/debian.md), follow these steps to upgrade.
## Cleanup old funkwhale files
1. Stop the Funkwhale services.
```{code-block} sh
sudo systemctl stop funkwhale.target
```
2. Navigate to your Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
3. Remove the old files.
```{code-block} sh
sudo rm -Rf api/* front/* venv
```
## Download Funkwhale
1. Export the Funkwhale version you want to update to. You'll use this in the rest of the commands in this guide.
```{parsed-literal}
export FUNKWHALE_VERSION={sub-ref}`version`
```
2. Follow the [Download Funkwhale](../installation/debian.md#3-download-funkwhale) instructions in the installation guide.
3. Follow the [Install the Funkwhale API](../installation/debian.md#4-install-the-funkwhale-api) instructions in the installation guide.
## Update your reverse proxy configuration
To ensure your reverse proxy is up-to-date with changes, you should regenerate your Nginx configuration with each upgrade. To do this:
1. Log in to a root shell to make changes to the config files
```console
$ sudo su
```
2. Download the new Nginx templates from Funkwhale
```console
# curl -L -o /etc/nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/$FUNKWHALE_VERSION/deploy/funkwhale_proxy.conf"
# curl -L -o /etc/nginx/sites-available/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/$FUNKWHALE_VERSION/deploy/nginx.template"
```
3. Update the Nginx configuration with details from your {file}`.env` file
```console
# set -a && source /srv/funkwhale/config/.env && set +a
envsubst "`env | awk -F = '{printf \" $%s\", $$1}'`" \
< /etc/nginx/sites-available/funkwhale.template \
> /etc/nginx/sites-available/funkwhale.conf
```
4. Check the configuration file to make sure the template values have been updated properly
```console
# grep '${' /etc/nginx/sites-enabled/funkwhale.conf
```
5. Restart Nginx
```console
# systemctl restart nginx
```
## Update your Funkwhale instance
Once you have downloaded the new files, you can update your Funkwhale instance. To do this:
1. Install or upgrade all OS dependencies using the dependencies script.
```{code-block} sh
sudo api/install_os_dependencies.sh install
```
2. Collect the new static files to serve.
```{code-block} sh
sudo venv/bin/funkwhale-manage collectstatic --no-input
```
3. Apply new database migrations.
```{code-block} sh
sudo -u funkwhale venv/bin/funkwhale-manage migrate
```
4. Restart the Funkwhale services.
```{code-block} sh
sudo systemctl start funkwhale.target
```
That's it! You've updated your Funkwhale pod. You should now see the new version running in your web browser.