De Rien/Documentation

Maintenance

Keeping a De Rien instance healthy is mostly a matter of pulling a new image now and then, and copying one file when you want a backup.

Updating

De Rien tells you when a new version is out — the admin dashboard shows an "update available" notice. To update, pull the new image and recreate the container:

docker compose pull
docker compose up -d

Database migrations for the new version run automatically on boot; there's nothing to run by hand.

Choosing a tag in your docker-compose.yml:

  • :latest — the current stable release. Recommended for most people.
  • :vX.Y.Z — a specific release, pinned. Use this if you want to control exactly when you move.
  • :dev — the tip of main, rebuilt on every push. Bleeding edge, not guaranteed stable.

Backups

Everything that makes your instance yours lives in the derien-data volume (/app/data inside the container): the SQLite database and the artwork cache. Your media isn't part of it — those are your own files, mounted read-only.

Because SQLite is a single file, backing up is simple. Pause the container so nothing is mid-write, copy the database, then resume:

docker compose pause app
# copy derien.db and, if present, derien.db-wal and derien.db-shm
docker compose unpause app

You can also just back up the whole host directory or volume behind derien-data. Restoring is the reverse: stop the container, put the files back, start it again.

Reverse proxy & TLS

The container serves plain HTTP on port 3000 — it does not terminate TLS itself. For anything beyond your local network, put a reverse proxy (Caddy, Traefik, nginx…) in front of it to handle HTTPS, and set APP_URL to your public https:// address.

That last part matters: APP_URL is baked into magic-link emails and OAuth callbacks, so if it doesn't match the URL people actually use, sign-in links won't resolve.