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 ofmain, 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.