Skip to content

Configuration

Everything is optional. Slick boots with no configuration at all and stores state in ./data.

Variable Default Meaning
PORT 3000 HTTP and WebSocket listen port
HOST 0.0.0.0 Bind address
DATA_DIR ./data SQLite database and uploaded files
WEB_DIST ./public Built web app to serve
LOG_LEVEL info debug, info, warn, or error
APP_URL http://localhost:PORT Public base URL. Used in emailed invite links and push notification targets, so it must be the address people actually reach you at
Variable Default Meaning
WORKSPACE_CREATION owners Who may create workspaces beyond the first. owners means anyone who already owns one, which stops an invited member homesteading their own on your server. anyone suits a shared instance. disabled allows none
Variable Default Meaning
DATABASE_URL unset Opt in to Postgres, for example postgres://user:pass@host:5432/slick. Unset means SQLite in DATA_DIR

See Postgres for the migration path.

Variable Default Meaning
STORAGE local local or s3
S3_ENDPOINT unset S3 compatible endpoint for MinIO, R2, and similar. Omit for AWS
S3_REGION us-east-1 Region
S3_BUCKET required for s3 Bucket name
S3_ACCESS_KEY required for s3 Access key id
S3_SECRET_KEY required for s3 Secret access key
S3_FORCE_PATH_STYLE true Path style addressing, needed by MinIO. false for AWS

See Files and S3.

Variable Default Meaning
SMTP_HOST unset Without this, invites are share links only
SMTP_PORT 587
SMTP_USER / SMTP_PASS unset
SMTP_FROM slick@SMTP_HOST
SMTP_SECURE false true for implicit TLS on 465
Variable Default Meaning
STUN_URLS Google public STUN Comma separated STUN servers
TURN_URLS unset Comma separated TURN relays. Unset means STUN only
TURN_SECRET required with TURN_URLS Matches coturn’s static-auth-secret
TURN_REALM unset coturn’s realm
TURN_TTL_SECONDS 43200 Lifetime of issued relay credentials

Setting TURN_URLS without TURN_SECRET is a startup error rather than a silent downgrade, because a relay with fixed credentials in the web bundle is an open relay. See Calls and TURN.

Variable Default Meaning
VAPID_PUBLIC_KEY generated Web push keypair. Left unset, one is generated on first boot and stored in the database
VAPID_PRIVATE_KEY generated
VAPID_SUBJECT mailto:admin@ your APP_URL host Contact URI push services can use to reach you

Changing the public key invalidates every existing browser subscription, because browsers bind to it. See Push notifications.