diff --git a/docs/production/upgrade.md b/docs/production/upgrade.md index bcaab7ae4d..a2dd893cb7 100644 --- a/docs/production/upgrade.md +++ b/docs/production/upgrade.md @@ -300,6 +300,67 @@ The steps are largely the same for the various OS upgrades aside from the versions of PostgreSQL, so you should be able to adapt these instructions for other supported platforms. +### Upgrading from Ubuntu 22.04 Jammy to 24.04 Noble + +1. Upgrade your server to the latest Zulip `8.x` release (at + least 8.3, which adds support for Ubuntu 24.04). + +2. As the Zulip user, stop the Zulip server and run the following + to back up the system: + + ```bash + supervisorctl stop all + /home/zulip/deployments/current/manage.py backup --output=/home/zulip/release-upgrade.backup.tar.gz + ``` + +3. Switch to the root user and upgrade the operating system, following + the prompts until it completes successfully: + + ```bash + sudo -i # Or otherwise get a root shell + do-release-upgrade + ``` + + When `do-release-upgrade` asks you how to upgrade configuration + files for services that Zulip manages like Redis, PostgreSQL, + nginx, and memcached, the best choice is `N` to keep the + currently installed version. But it's not important; the next + step will re-install Zulip's configuration in any case. + + The `do-release-upgrade` tool will complete by prompting you to + restart the system; press `N`, as we will do so later. + +4. Next, we need to reinstall the current version of Zulip, which + among other things will recompile Zulip's Python module + dependencies for your new version of Python and rewrite Zulip's + full-text search indexes to work with the upgraded dictionary + packages: + + ```bash + rm -rf /srv/zulip-venv-cache/* + /home/zulip/deployments/current/scripts/lib/upgrade-zulip-stage-2 \ + /home/zulip/deployments/current/ --ignore-static-assets --audit-fts-indexes + ``` + + This process may show a dialog about a "pending kernel upgrade", + which can safely be ignored. It may also prompt about "daemons + using outdated libraries"; you should select "cancel". + +5. As root, upgrade the database to the latest version of PostgreSQL: + + ```bash + /home/zulip/deployments/current/scripts/setup/upgrade-postgresql + ``` + +6. As root, restart the server: + + ```bash + reboot + ``` + +You should now be able to navigate to your Zulip server's URL and +confirm everything is working correctly. + ### Upgrading from Ubuntu 20.04 Focal to 22.04 Jammy 1. Upgrade your server to the latest Zulip `5.x` release (at