Skip to content

Database

Warden supports two database backends: SQLite (default) and PostgreSQL.

Zero configuration. Data is stored in a single file.

Terminal window
docker run -d -p 9090:9090 \
-v warden_data:/data \
ghcr.io/projecthelena/warden:latest
VariableDefaultDescription
DB_PATH/data/warden.dbPath to the SQLite file.

When to use: Single-instance deployments, low-to-medium traffic, simplicity.

For larger deployments or when you need an external database.

Terminal window
docker run -d -p 9090:9090 \
-e DB_URL=postgres://user:password@db-host:5432/warden?sslmode=disable \
ghcr.io/projecthelena/warden:latest
VariableDefaultDescription
DB_TYPEsqliteSet to postgres (auto-detected if DB_URL starts with postgres).
DB_URL—PostgreSQL connection string.

When to use: High availability requirements, existing PostgreSQL infrastructure, large-scale monitoring.

There is no built-in migration tool between backends. To migrate:

  1. Export your SQLite data
  2. Import into PostgreSQL
  3. Update environment variables to point to PostgreSQL

Moving an existing PostgreSQL installation

Section titled “Moving an existing PostgreSQL installation”

Follow Move Warden to another PostgreSQL instance for the complete dump, restore, verification, rollback, and latency-relearning checklist.