Skip to content

Configuration ​

Workshell is configured with environment variables. Everything else (retention, limits, integrations) is set per project in the dashboard.

VariableDefault
WORKSHELL_ADDR:8080Listen address
WORKSHELL_DATA_DIR./dataWhere the SQLite database and generated secret key live. Back this up.
WORKSHELL_PUBLIC_URLThe public URL, used in setup snippets, alert links and webhook URLs
WORKSHELL_SECRET_KEYgenerated32-byte key, hex or base64, that encrypts stored secrets. Generate one with openssl rand -hex 32
WORKSHELL_REDIS_URLFor example redis://localhost:6379/0. A durable ingest queue, and live updates shared between instances
WORKSHELL_SECURE_COOKIESfalseSet to true when served over HTTPS
WORKSHELL_TRUST_PROXYfalseTrust X-Forwarded-* headers from your reverse proxy
WORKSHELL_MAX_INGEST_BYTES8388608Largest ingest request accepted, after decompression
WORKSHELL_SESSION_DAYS30How long a dashboard login lasts

Changing the secret key

If WORKSHELL_SECRET_KEY changes, secrets encrypted with the old key can't be read. Workshell logs an error naming the affected project, and you'll need to regenerate or re-enter its webhook URLs, GitHub token and signing secret.

Per-project settings ​

Where
Settings → GeneralName, and retention for logs and for everything else
Settings → SDK setupIngest key, setup snippet and Workshell.rbxmx download
Settings → SecuritySigning secret, pseudonymous ids, Roblox data erasure, abuse limits
Settings → IntegrationsGitHub repository and token
Settings → Audit logSensitive changes and erasures
AlertsChannels and rules