MSaving

Updates

Updating by hand, the update notice, and optional one-click updates from the web app.

By hand

In the msaving folder you cloned:

git pull
docker compose up -d --build

This gets the newest release and builds it (a few minutes). The server takes a backup before applying any database change. The admin sees on Server admin when a new version is out (checked against the project’s GitHub releases at most every 6 hours; UPDATE_CHECK=off in .env stops it).

Staying on one version

Check out a release’s tag instead of main, then build:

git fetch --tags
git checkout v1.2.0
docker compose up -d --build

Every release is a tag (the list). git pull and the one-click update don’t move a server that’s on a tag; git checkout main goes back to following releases.

One-click updates (optional)

Add COMPOSE_PROFILES=updater to .env (https,updater with Caddy) and run docker compose up -d. The admin can then press Update now on Server admin; the page reconnects by itself when the new version is up (a few minutes, most of it building).

This starts a small helper that can control Docker on this machine, which is root-level access, and can write to the msaving folder. It only ever runs git pull there (as the folder’s owner) and rebuilds and restarts the services that are running, and the server itself can only leave it a request. Turn it on only if you’re comfortable with that. A release that adds a service or changes the helper itself says so in its notes: run docker compose up -d once by hand for it. Updating is a web app feature; the mobile app doesn’t do it.

How it works: Running an instance.

Edit this page · Report a problem