Environment Variables
Every chatto.toml setting can be overridden with an environment variable. The naming pattern is CHATTO_{SECTION}_{KEY} in uppercase.
General
Section titled “General”CHATTO_LOG_LEVEL info general.log_level Log level. Values: debug, info, warn, error.
Web Server
Section titled “Web Server”CHATTO_WEBSERVER_URL required webserver.url Public URL of the instance, used for absolute links and OAuth redirects.
CHATTO_WEBSERVER_PORT 4000 webserver.port Port to listen on.
CHATTO_WEBSERVER_COOKIE_SIGNING_SECRET required webserver.cookie_signing_secret 256-bit hex secret for signing session cookies. Generate with openssl rand -hex 32.
CHATTO_WEBSERVER_WEBSOCKET_COMPRESSION true webserver.websocket_compression Enable WebSocket compression.
CHATTO_WEBSERVER_REQUEST_LOGGING false webserver.request_logging Log HTTP requests.
Assets
Section titled “Assets”CHATTO_CORE_ASSETS_SIGNING_SECRET required core.assets.signing_secret 256-bit hex secret for signing asset URLs. Generate with openssl rand -hex 32.
CHATTO_CORE_ASSETS_MAX_UPLOAD_SIZE 25 MB core.assets.max_upload_size Max file upload size (e.g., 25MB, 25 MiB).
CHATTO_CORE_ASSETS_STORAGE_BACKEND nats core.assets.storage_backend Storage backend for file attachments. Values: nats, s3.
CHATTO_NATS_EMBEDDED_ENABLED true nats.embedded.enabled Enable the embedded NATS server. Set to false when connecting to an external NATS server.
CHATTO_NATS_EMBEDDED_PORT 4222 nats.embedded.port Embedded NATS server port.
CHATTO_NATS_EMBEDDED_BIND_ADDRESS 127.0.0.1 nats.embedded.bind_address Embedded NATS server bind address.
CHATTO_NATS_EMBEDDED_DATA_DIR ./data nats.embedded.data_dir JetStream data directory for the embedded server.
CHATTO_NATS_EMBEDDED_AUTH_TOKEN nats.embedded.auth_token Auth token for the embedded NATS server. Must match CHATTO_NATS_CLIENT_TOKEN when using token auth.
CHATTO_NATS_CLIENT_URL nats://localhost:4222 nats.client.url NATS server URL to connect to.
CHATTO_NATS_CLIENT_AUTH_METHOD token nats.client.auth_method NATS authentication method. Values: none, token, userpass, credentials, nkey.
CHATTO_NATS_CLIENT_TOKEN nats.client.token NATS auth token (when using token auth method). Must match CHATTO_NATS_EMBEDDED_AUTH_TOKEN when using the embedded server.
CHATTO_SMTP_ENABLED false smtp.enabled Enable SMTP email sending.
CHATTO_SMTP_HOST smtp.host SMTP server hostname.
CHATTO_SMTP_PORT smtp.port SMTP port. Common values: 587 (TLS), 465 (SSL), 25 (unencrypted).
CHATTO_SMTP_USERNAME smtp.username SMTP username.
CHATTO_SMTP_PASSWORD smtp.password SMTP password.
CHATTO_SMTP_FROM smtp.from From address for outgoing emails.
Push Notifications
Section titled “Push Notifications”CHATTO_PUSH_ENABLED false push.enabled Enable Web Push notifications.
CHATTO_PUSH_VAPID_PUBLIC_KEY push.vapid_public_key VAPID public key for Web Push. Generate with npx web-push generate-vapid-keys.
CHATTO_PUSH_VAPID_PRIVATE_KEY push.vapid_private_key VAPID private key for Web Push.
CHATTO_PUSH_VAPID_SUBJECT push.vapid_subject VAPID subject identifier. Must be a mailto: or https: URL.
CHATTO_ADMIN_EMAILS admin.emails Comma-separated list of instance admin email addresses. Only verified email addresses are matched.