Athena Server is configured through appsettings.json, overridden by
environment variables (sections use a double-underscore separator, e.g.
Server__PublicUrl).
Settings → General — language and display options; each tab maps to a group of appsettings.json values.
Settings are layered, with later sources overriding earlier ones. The precedence, lowest to
highest, is:
appsettings.json — committed defaults baked into the image.
Environment variables — highest precedence; ideal for secrets and
host-specific values, passed to the container with -e.
A nested JSON key maps to an environment variable by joining the section and key names with a
double underscore. For example, the Server:PublicUrl setting is overridden by:
Server__PublicUrl=https://athena.example.com:8443
Keep secrets out of config files
Provide Jwt__Secret and RemoteSession__Turn__StaticAuthSecret as
environment variables rather than writing them into appsettings.json. The JWT
secret signs the console's login tokens and the TURN secret authorizes remote-session relay
credentials — treat both like passwords.
The Database section selects the storage provider and connection.
Key
Default
Notes
Provider
Sqlite
Default. Also supports PostgreSQL.
ConnectionString
Data Source=athena.db
Provider-specific connection string.
HeartbeatBatchDelayMs
3000
Batching window for agent heartbeat writes, in milliseconds.
SQL Server is not shipped — only the SQLite and
PostgreSQL provider plugins exist. For a step-by-step guide to running on
PostgreSQL — the connection string format, schema creation, and how to verify it — see
Using PostgreSQL for the Database.
The Server section controls the listening ports, TLS and the externally reachable URL.
To replace the auto-generated certificate with your own and run behind a reverse proxy, see
Server TLS Certificate.
Key
Default
Notes
WebPort
8443
Web console / API port.
ApiPort
8444
Agent gateway port (gRPC over HTTP/2).
TlsEnabled
true
Terminate TLS on Kestrel.
Hostnames
—
Hostnames the server answers on.
WebCertPath
—
Path to the server TLS certificate (PFX).
WebCertPassword
—
Password for the PFX certificate.
PublicUrl
—
Externally reachable base URL, e.g. https://athena.example.com:8443.
An Admin can review and change the session, lockout, and password-policy values from the console
or API without editing this file — see Security Settings.