MiniCMS Docs
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=

Email

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: when true, the / homepage returns 404 so the app behaves like a dashboard-only self-hosted install.
  • AUTH_SECRET: Better Auth signing secret.
  • TURSO_DB_URL and TURSO_AUTH_TOKEN: Turso/libSQL connection settings.
  • UPSTASH_REDIS_REST_URL and UPSTASH_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, and S3_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_URL matches the final production URL
  • confirm PUBLIC_APP_URL matches 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=

On this page