diff --git a/changes/changelog.d/127.doc b/changes/changelog.d/127.doc new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/index.rst b/docs/index.rst index 17e9fe7f0b699cc427c71cac4597708b5a311e31..f5acecce516ee8d6b635c91e3aa0fed2686f5739 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,6 +15,7 @@ Funkwhale is a self-hosted, modern free and open-source music server, heavily in installation/index configuration importing-music + upgrading changelog Indices and tables diff --git a/docs/upgrading.rst b/docs/upgrading.rst new file mode 100644 index 0000000000000000000000000000000000000000..24f5502a658910c9effd51aeaf9c6246277b7f39 --- /dev/null +++ b/docs/upgrading.rst @@ -0,0 +1,88 @@ +Upgrading your funkwhale instance to a newer version +==================================================== + +.. note:: + + Before upgrading your instance, we strongly advise you to make a database + backup. We're commited to make upgrade as easy and straightforward as possible, + however, funkwhale is still in development and you'll be safer with a backup. + +Reading the release notes +------------------------- + +Please take a few minutes to read the :doc:`changelog`: updates should work +similarly from version to version, but some of them may require additional steps. +Those steps would be described in the version release notes. + +Upgrade the static files +------------------------ + +Regardless of your deployment choice (docker/non-docker) the front-end app +is updated separately from the API. This is as simple as downloading +the zip with the static files and extracting it in the correct place. + +The following example assume your setup match :ref:`frontend-setup`. + +.. parsed-literal:: + + # this assumes you want to upgrade to version "|version|" + export FUNKWHALE_VERSION="|version|" + cd /srv/funkwhale + curl -L -o front.zip "https://code.eliotberriot.com/funkwhale/funkwhale/builds/artifacts/$FUNKWHALE_VERSION/download?job=build_front" + unzip -o front.zip + rm front.zip + +Upgrading the API +----------------- + +Docker setup +^^^^^^^^^^^^ + +If you've followed the setup instructions in :doc:`Docker`, upgrade path is +easy: + +.. parsed-literal:: + + cd /srv/funkwhale + # hardcode the targeted version your env file + # (look for the FUNKWHALE_VERSION variable) + nano .env + # Pull the new version containers + docker-compose pull + # Apply the database migrations + docker-compose run --rm api python manage.py migrate + # Relaunch the containers + docker-compose up -d + +Non-docker setup +^^^^^^^^^^^^^^^^ + +On non docker-setup, upgrade involves a few more commands. We assume your setup +match what is described in :doc:`debian`: + +.. parsed-literal:: + + # this assumes you want to upgrade to version "|version|" + export FUNKWALE_VERSION="|version|" + cd /srv/funkwhale + + # download more recent API files + curl -L -o "api-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/|version|/download?job=build_api" + unzip "api-|version|.zip" -d extracted + mv extracted/api/* api/ + rm -rf extracted + + # update os dependencies + sudo api/install_os_dependencies.sh install + # update python dependencies + source /srv/funkwhale/load_env + source /srv/funkwhale/virtualenv/bin/activate + pip install -r api/requirements.txt + + # apply database migrations + python api/manage.py migrate + # collect static files + python api/manage.py collectstatic --no-input + + # restart the services + sudo systemctl restart funkwhale.target