vibralabs/atrium:latest) that bundles the API, web app, Caddy reverse proxy, and an optional built-in PostgreSQL database. One container, one port.
Quick start
The only required environment variable isBETTER_AUTH_SECRET — a random string of at least 32 characters used to sign authentication tokens.
http://localhost:8080 and create your account.
The database schema is applied automatically on every startup. You do not need to run migrations manually.
Using an external database
If you already have a PostgreSQL instance, disable the built-in database and provide your connection string:USE_BUILT_IN_DB=false, you can omit the /var/lib/postgresql/data volume mount.
Connection poolers (PgBouncer)
If your database connection goes through a pooler like PgBouncer, schema migrations will fail because they require a direct session-mode connection. SetSKIP_DB_PUSH=true to skip the automatic migration, then provide a DIRECT_URL pointing to the non-pooled connection: