Developer
Environment Variables
Required environment variables for deploying Mini CMS.
Set these variables for the production app deployment. Once deployed, manage content from the dashboard.
Required
TURSO_DB_URL=
TURSO_AUTH_TOKEN=
AUTH_SECRET=
APP_URL=
PUBLIC_APP_URL=Cache And Rate Limit
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=RESEND_API_KEY=Compatibility Aliases
The app also accepts these optional Redis aliases:
KV_REST_API_URL=
KV_REST_API_TOKEN=Optional Self-Hosting And Demo Flags
PUBLIC_HIDE_HOME=false
DEMO_MAX_WORKSPACES_PER_USER=
DEMO_MAX_PROJECTS_PER_WORKSPACE=
DEMO_MAX_COLLECTIONS_PER_PROJECT=
DEMO_MAX_ITEMS_PER_COLLECTION=
DEMO_MAX_ASSETS_PER_PROJECT=
S3_BUCKET_NAME=
S3_REGION=
S3_ENDPOINT=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_PUBLIC_URL=Docs App (Optional)
The docs app (apps/docs) accepts one optional variable:
VITE_APP_URL=When set, the docs navigation bar includes a "Dashboard" link pointing to the deployed app. Leave empty if the docs site is standalone.
Variable Notes
APP_URL: server-side canonical app URL used by auth and invite links.PUBLIC_APP_URL: browser-visible app URL used by the auth client.PUBLIC_HIDE_HOME: whentrue, the/homepage returns404so the app behaves like a dashboard-only self-hosted install.AUTH_SECRET: Better Auth signing secret.TURSO_DB_URLandTURSO_AUTH_TOKEN: Turso/libSQL connection settings.UPSTASH_REDIS_REST_URLandUPSTASH_REDIS_REST_TOKEN: cache and rate-limit backend.RESEND_API_KEY: invite email delivery.DEMO_MAX_WORKSPACES_PER_USER: optional cap for demo environments.DEMO_MAX_PROJECTS_PER_WORKSPACE: optional cap for demo environments.DEMO_MAX_COLLECTIONS_PER_PROJECT: optional cap for demo environments.DEMO_MAX_ITEMS_PER_COLLECTION: optional cap for demo environments.DEMO_MAX_ASSETS_PER_PROJECT: optional cap for demo environments.S3_BUCKET_NAME,S3_REGION,S3_ENDPOINT,S3_ACCESS_KEY_ID,S3_SECRET_ACCESS_KEY, andS3_PUBLIC_URL: S3-compatible asset storage settings for dashboard and CLI uploads.
Demo Limits
- All demo limit variables are optional.
- Leave them empty for normal self-hosted installs with no limits.
- Set one or more values to enable caps for demo or trial environments.
- Limits are enforced on create actions only.
Before You Deploy
- confirm
APP_URLmatches the final production URL - confirm
PUBLIC_APP_URLmatches the same public URL - make sure the database, Redis, and email credentials are all set in the host
Example Local Values
TURSO_DB_URL=libsql://your-db.turso.io
TURSO_AUTH_TOKEN=...
AUTH_SECRET=change-me
APP_URL=http://localhost:3000
PUBLIC_APP_URL=http://localhost:3000
PUBLIC_HIDE_HOME=false
UPSTASH_REDIS_REST_URL=https://...
UPSTASH_REDIS_REST_TOKEN=...
RESEND_API_KEY=...
DEMO_MAX_WORKSPACES_PER_USER=
DEMO_MAX_PROJECTS_PER_WORKSPACE=
DEMO_MAX_COLLECTIONS_PER_PROJECT=
DEMO_MAX_ITEMS_PER_COLLECTION=
DEMO_MAX_ASSETS_PER_PROJECT=
S3_BUCKET_NAME=
S3_REGION=
S3_ENDPOINT=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_PUBLIC_URL=