-
Notifications
You must be signed in to change notification settings - Fork 2
Configuration
Lef edited this page Oct 3, 2026
·
1 revision
All settings live in .env in the repo root (gitignored). env.template lists everything with comments. docker-compose.yml passes the values into the containers.
After changing .env, recreate the affected container so it picks up the new values (a plain restart is not enough):
docker compose up -d backend| Variable | What it does |
|---|---|
FLASK_SECRET_KEY, JWT_SECRET_KEY
|
Secrets for sessions and login tokens. Generate your own (see Installation) |
POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD
|
Database name and credentials. Used by both the postgres container and the backend |
DATABASE_TYPE |
postgresql (SQLite is legacy, only for old migrations) |
DATABASE_HOST |
Must be localhost, because the backend runs on the host network |
LM_STUDIO_URL |
Default http://localhost:1234
|
LM_STUDIO_MODEL |
auto picks the model LM Studio has loaded. Or set an exact id like google/gemma-4-e2b
|
LM_STUDIO_TIMEOUT |
Seconds to wait for a reply (compose default 120) |
LM_STUDIO_REASONING_EFFORT |
none turns off "thinking" on reasoning models like Gemma 4. Leave empty for the model default. See AI Models
|
OLLAMA_URL, OLLAMA_MODEL
|
Ollama on the host. The router uses llama3.2:3b
|
SMTP_* |
Optional. Leave SMTP_HOST empty to skip welcome emails |
MAIL_ADMIN_ALERT_EMAIL |
Optional. Gets an email when someone tries a wrong invite code (needs SMTP) |
BOOK_SOURCE_URL |
Only for books/sync.sh, see World of Darkness Books
|
Registration is invite only. The file is gitignored; start from backend/invites.template.json:
{
"invites": {
"ADMIN-XXXXXX-XXXXXX": {
"type": "admin",
"description": "My admin account",
"max_uses": 1,
"uses": 0,
"created_at": "2026-10-04T00:00:00",
"created_by": "setup"
}
}
}-
typeisadminorplayer -
usesgoes up by one on each registration. When it reachesmax_usesthe code stops working - The backend re-reads the file on each registration, so no restart is needed after editing it
Use random codes (for example ADMIN-$(openssl rand -hex 3)-$(openssl rand -hex 3)), not the template examples.