Setup
Configuration
Server settings, environment variables, and the admin console.
Settings registry
Most runtime knobs live in the database-backed settings registry and are
edited in the admin console (/admin) — branding, registration, legal
documents, retention, SMTP, rate limits, upload limits, bots.
Environment
The required environment is three values: TYTO_VERSION, SERVER_DOMAIN and
CORS_ALLOW_ORIGIN. Everything else has a working default:
CORS_ALLOW_ORIGIN— origins of your web clients (space- or comma-separated; several web clients are fine). Browsers only: native desktop/mobile clients don’t use CORS, so with no web client it stays empty.- Secrets (database passwords, Meilisearch master key, LiveKit
key/secret, JWT/Mercure/media/VAPID app keys) are auto-generated into the
shared secrets volume on first boot by the
secrets-initservice. Any of them set in.envoverrides the generated value — that’s the path for a managed database or an external LiveKit. - Public URLs (
DEFAULT_URI,SERVER_API_URL,LIVEKIT_PUBLIC_URL, Mercure) derive fromSERVER_DOMAIN, the API’s public hostname. Behind a reverse proxy (BEHIND_PROXY=true)SERVER_DOMAINstays that real public hostname; set the URLs explicitly only if they differ from it. MAILER_DSNis an optional fallback — real SMTP lives in the admin panel.
The full variable-by-variable reference — proxy and port overrides, voice,
external services, the auto-generated secrets — is in
Advanced configuration; the same list ships
annotated as .env.prod.example in the core repo.
Configure SMTP in Admin → Settings → Email, including the From address used for registration and digest mail. A test-email button verifies the configuration end to end.