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 (SERVER_DOMAIN=:80) set them explicitly. MAILER_DSNis an optional fallback — real SMTP lives in the admin panel.
See .env.prod.example in the core repo for the full annotated list of
overrides.
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.