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 manage.py migrate
    venv/bin/python3 manage.py compile_themes
    venv/bin/python3 manage.py collectstatic --no-input
    venv/bin/python3 manage.py populate_streams
    venv/bin/python3 manage.py 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.