Zum Hauptinhalt springen

Configuration

Self-hosted Atrium is configured via environment variables in the .env file. The Docker Compose file references these variables — you don't need to edit the Compose file directly.

Core settings

VariableRequiredDescriptionDefault
DOMAINYesThe domain name for your Atrium instance.
ACME_EMAILYesEmail address for Let's Encrypt certificate notifications.
POSTGRES_USERNoPostgreSQL username.atrium
POSTGRES_PASSWORDYesPostgreSQL password. Pre-generated in the config package.
POSTGRES_DBNoPostgreSQL database name.atrium
JWT_SECRETYesSecret used to sign authentication tokens. Pre-generated, keep confidential.
ATRIUM_VERSIONNoContainer image tag to use.stable-latest

Email (SMTP)

VariableRequiredDescriptionDefault
SMTP_HOSTNoSMTP server hostname. Without SMTP, email notifications are disabled.
SMTP_PORTNoSMTP port.587
SMTP_USERNoSMTP login username.
SMTP_PASSNoSMTP login password.
SMTP_FROMNoSender address for outgoing emails.noreply@{DOMAIN}
SMTP_SECURENotrue for implicit TLS (port 465), false for STARTTLS (port 587).false

Control Plane connectivity

VariableRequiredDescriptionDefault
CONTROL_PLANE_URLNoURL of the Control Plane.https://cp.atrium.sprocksystems.de
INSTANCE_TOKENYesToken for authenticating with the Control Plane. Provided during provisioning.
ATRIUM_UPDATE_MODENoUpdate behavior: auto, notify, or disabled.notify

TLS

VariableRequiredDescriptionDefault
CF_DNS_API_TOKENNoCloudflare API token for DNS-01 ACME challenge. Only needed if port 80 is blocked.

Database connection

In the standard Docker Compose deployment, the backend connects to PostgreSQL via Docker networking. The following variable is pre-configured:

VariableDescriptionDefault
DATABASE_URLPostgreSQL connection string.postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@postgres:5432/{POSTGRES_DB}

You typically don't need to change this unless you're using an external PostgreSQL instance.

Modifying configuration

After changing .env, restart the affected containers:

cd ~/atrium
docker compose up -d

Docker Compose detects which services have changed environment variables and restarts only those containers.

Sensitive variables

JWT_SECRET, POSTGRES_PASSWORD, and INSTANCE_TOKEN are security-critical. Changing JWT_SECRET invalidates all active user sessions. Changing POSTGRES_PASSWORD requires updating both the .env file and the PostgreSQL user password inside the database.