105 lines
2.9 KiB
Markdown
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.
|