funkwhale/docs/administrator/upgrade/debian.md

2.9 KiB

Upgrade your Debian Funkwhale installation

If you installed Funkwhale following the Debian guide, follow these steps to upgrade.

Cleanup old funkwhale files

  1. Stop the Funkwhale services.

    sudo systemctl stop funkwhale.target
    
  2. Navigate to your Funkwhale directory.

    cd /srv/funkwhale
    
  3. Remove the old files.

    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.

    export FUNKWHALE_VERSION={sub-ref}`version`
    
  2. Follow the Download Funkwhale instructions in the installation guide.

  3. Follow the 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

    $ sudo su
    
  2. Download the new Nginx templates from Funkwhale

    # 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

    # 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

    # grep '${' /etc/nginx/sites-enabled/funkwhale.conf
    
  5. Restart Nginx

    # 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.

    sudo api/install_os_dependencies.sh install
    
  2. Collect the new static files to serve.

    sudo venv/bin/funkwhale-manage collectstatic --no-input
    
  3. Apply new database migrations.

    sudo -u funkwhale venv/bin/funkwhale-manage migrate
    
  4. Restart the Funkwhale services.

    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.