Openstatus
www.openstatus.dev
1# ============================================================================
2# Docker Environment Configuration (Example)
3# ============================================================================
4# Copy this file to .env.docker and replace with your actual values
5#
6# NOTE: Build-time placeholders are set in each service's dofigen.yml file.
7# Values in this file override those placeholders at runtime via docker compose.
8# Required values are marked with [REQUIRED]
9
10# DATABASE
11# ============================================================================
12# LibSQL database connection - points to the libsql container
13DATABASE_URL=http://libsql:8080
14DATABASE_AUTH_TOKEN=
15
16# ClickHouse (optional - for advanced analytics)
17CLICKHOUSE_URL=
18CLICKHOUSE_USERNAME=
19CLICKHOUSE_PASSWORD=
20
21# REDIS & QUEUE
22# ============================================================================
23# Redis (optional) - for caching
24UPSTASH_REDIS_REST_URL=http://localhost:6379
25UPSTASH_REDIS_REST_TOKEN=placeholder
26
27# QStash (optional - for background jobs)
28QSTASH_CURRENT_SIGNING_KEY=
29QSTASH_NEXT_SIGNING_KEY=
30QSTASH_TOKEN=
31QSTASH_URL=https://qstash.upstash.io/v1/publish/
32
33# ANALYTICS
34# ============================================================================
35# Tinybird (optional - for monitor analytics and charts)
36# Leave empty to disable analytics features
37# Get from: https://www.tinybird.co
38TINY_BIRD_API_KEY=
39
40# Tinybird URL (optional - defaults to cloud API)
41# For local Tinybird container, set to: http://tinybird-local:7181
42TINYBIRD_URL=
43
44# EMAIL
45# ============================================================================
46# [REQUIRED] Resend API key for sending magic link emails
47# Get from: https://resend.com
48RESEND_API_KEY=re_your_resend_api_key_here
49
50# AUTHENTICATION
51# ============================================================================
52# [REQUIRED] NextAuth secret - generate with: openssl rand -base64 32
53AUTH_SECRET=your-random-secret-here-min-32-chars
54
55# [REQUIRED] Self-hosted mode - enables magic link authentication
56# Set to "true" to allow email login without OAuth
57SELF_HOST="true"
58
59# GitHub OAuth (optional)
60# Get from: https://github.com/settings/developers
61AUTH_GITHUB_ID=
62AUTH_GITHUB_SECRET=
63
64# Google OAuth (optional)
65# Get from: https://console.cloud.google.com
66AUTH_GOOGLE_ID=
67AUTH_GOOGLE_SECRET=
68
69# GOOGLE CLOUD
70# ============================================================================
71# Google Cloud Platform (optional - for scheduled tasks)
72GCP_PROJECT_ID=your-value
73GCP_LOCATION=your-value
74GCP_CLIENT_EMAIL=your-value
75GCP_PRIVATE_KEY=your-value
76
77# Cron secret for scheduled jobs
78CRON_SECRET=your-random-cron-secret
79
80# API KEYS
81# ============================================================================
82# Unkey (optional - for API key management)
83# Get from: https://unkey.dev
84UNKEY_API_ID=
85UNKEY_TOKEN=
86
87# Super admin token for privileged operations
88SUPER_ADMIN_TOKEN=
89
90# Server region identifier
91FLY_REGION=self-hosted
92
93# STRIPE
94# ============================================================================
95# Stripe (optional - for payments)
96# Get from: https://stripe.com/docs/keys
97STRIPE_SECRET_KEY=
98STRIPE_WEBHOOK_SECRET_KEY=
99NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
100
101# VERCEL
102# ============================================================================
103# Vercel (optional - for custom domains)
104# Get from: https://vercel.com
105PROJECT_ID_VERCEL=
106TEAM_ID_VERCEL=
107VERCEL_AUTH_BEARER_TOKEN=
108
109# Vercel Blob storage (optional)
110BLOB_READ_WRITE_TOKEN=
111
112# OBSERVABILITY
113# ============================================================================
114# Sentry (optional - error tracking)
115# Get from: https://sentry.io
116NEXT_PUBLIC_SENTRY_DSN=
117SENTRY_AUTH_TOKEN=
118
119# OpenPanel (optional - analytics)
120# Get from: https://openpanel.dev
121NEXT_PUBLIC_OPENPANEL_CLIENT_ID=
122OPENPANEL_CLIENT_SECRET=
123
124# PagerDuty (optional - alerting)
125PAGERDUTY_APP_ID=
126
127# Slack webhook (optional)
128SLACK_SUPPORT_WEBHOOK_URL=
129
130# Telegram Bot (optional)
131TELEGRAM_BOT_TOKEN=
132
133# SERVICE CONFIGURATION
134# ============================================================================
135NODE_ENV=production
136
137# [REQUIRED] Public URL for the application
138NEXT_PUBLIC_URL=http://localhost:3002
139
140# Screenshot service (optional)
141SCREENSHOT_SERVICE_URL=
142
143# External services
144OPENSTATUS_INGEST_URL=https://openstatus-private-location.fly.dev
145
146# DEVELOPMENT & TESTING
147# ============================================================================
148# Turbo build mode
149TURBO_ENV_MODE=loose
150
151# Playground API keys (optional)
152PLAYGROUND_UNKEY_API_KEY=
153
154# Workspace settings (optional)
155WORKSPACES_LOOKBACK_30=
156WORKSPACES_HIDE_URL=