Deploy Sovrium with Docker
You want to run a Sovrium app on any host that has Docker, with nothing to install but the image.
Run the container
Mount your config and a data volume, and pass the two required secrets. On the SQLite default, the whole database lives in the mounted /data volume:
docker run -d --name my-app -p 3000:3000 \
-v "$PWD/app.ts:/app/app.ts:ro" \
-v my-app-data:/data \
-e SOVRIUM_DATA_DIR=/data \
-e AUTH_SECRET="$(openssl rand -hex 32)" \
-e SOVRIUM_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
-e BASE_URL=https://app.example.com \
ghcr.io/sovrium/sovrium:latest start /app/app.ts
Verify
curl -fsS http://localhost:3000/ >/dev/null && echo "up"
The container serves your app on port 3000; the SQLite database and uploaded files persist in the my-app-data volume across restarts and upgrades.
Next
- Environment Variables — every secret and toggle you can pass with
-e. - Database Infrastructure — stay on SQLite or point
DATABASE_URLat Postgres. - Security Hardening — the production checklist before you expose the port.
Last updated July 21, 2026
This documentation was written with Claude Fable 5 (Anthropic), so errors or outdated content are possible. Sovrium is in beta — contributions and corrections are welcome.