snail​huddle updating to the latest version of BookWyrm

Upgrading a BookWyrm server, in production (without using Docker).

  1. Log into the server, then go to the directory in which BookWyrm is installed. For example:

    ssh ipomoea
    cd /opt/bookwyrm
  2. Download the new stuff:

    git pull

    If there are now new requirements, they will need to be installed in order for the migration (in Step 3) to work:

    venv/bin/pip3 install -r requirements.txt
  3. Move everything into place:

    venv/bin/python3 migrate
    venv/bin/python3 compile_themes
    venv/bin/python3 collectstatic --no-input
    venv/bin/python3 populate_streams
    venv/bin/python3 populate_suggestions

    Refreshing the themes, streams, or suggestions is rarely necessary, but on a server with a small user‐base it doesn’t hurt to do so as a matter of course.

  4. If there have been major changes to .env.example, then make adjustments to .env, as appropriate. Likewise, there may occasionally be important revisions to suggested configuration for nginx or systemd.
  5. Restart BookWyrm:

    systemctl restart bookwyrm-worker bookwyrm-scheduler bookwyrm
  6. Check the update has worked. Refer to the git log for an idea of what features to look for:

    git log --oneline --decorate

    The website’s /about page should list the new software version.