Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. 🫖 Status page with uptime monitoring & API monitoring as code 🫖 openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
openstatus COOLIFY_ENVIRONMENT_GUIDE.md
5.9 kB
Markdown
at incident-api
Coolify Environment Variables Setup Guide #
This guide explains how to configure environment variables for OpenStatus deployment in Coolify.
🚀 Quick Setup #
Step 1: Import the Stack #
- In Coolify dashboard, click "New Service" → "Docker Compose"
- Choose "Import from URL" and enter:
https://raw.githubusercontent.com/openstatusHQ/openstatus/main/coolify-deployment.yaml - Click "Deploy"
ℹ️ Database migrations: the stack includes a one-shot
db-migrateservice that applies the database schema before any app service starts. It runs on every deploy and safely skips already-applied migrations — no manual migration step is needed.
Step 2: Configure Environment Variables #
- After deployment, click on the OpenStatus stack
- Go to "Settings" → "Environment Variables"
- Add the required variables below
🔧 Required Environment Variables #
Core Database & Authentication #
# Database Connection
DATABASE_URL=http://libsql:8080
DATABASE_AUTH_TOKEN=
# Authentication
AUTH_SECRET=your-32-character-secret-here
NEXT_PUBLIC_URL=https://your-domain.com
SELF_HOST=true
Email Service (Required for Login) #
RESEND_API_KEY=re_your_resend_api_key_here
🔧 Optional Environment Variables #
Analytics (TinyBird) #
TINY_BIRD_API_KEY=your_tinybird_api_key
TINYBIRD_URL=http://tinybird:7181
OAuth Providers #
# GitHub OAuth
AUTH_GITHUB_ID=your_github_oauth_id
AUTH_GITHUB_SECRET=your_github_oauth_secret
# Google OAuth
AUTH_GOOGLE_ID=your_google_oauth_id
AUTH_GOOGLE_SECRET=your_google_oauth_secret
Redis & Queue (Optional) #
UPSTASH_REDIS_REST_URL=http://localhost:6379
UPSTASH_REDIS_REST_TOKEN=your_redis_token
QSTASH_CURRENT_SIGNING_KEY=your_qstash_key
QSTASH_NEXT_SIGNING_KEY=your_qstash_key
QSTASH_TOKEN=your_qstash_token
QSTASH_URL=https://qstash.upstash.io/v1/publish/
Google Cloud (Optional) #
GCP_PROJECT_ID=your_gcp_project_id
GCP_LOCATION=your_gcp_location
GCP_CLIENT_EMAIL=your_gcp_service_account
GCP_PRIVATE_KEY=your_gcp_private_key
CRON_SECRET=your_cron_secret
API Keys (Optional) #
UNKEY_API_ID=your_unkey_api_id
UNKEY_TOKEN=your_unkey_token
SUPER_ADMIN_TOKEN=your_super_admin_token
FLY_REGION=self-hosted
Stripe (Optional) #
STRIPE_SECRET_KEY=sk_test_your_stripe_secret
STRIPE_WEBHOOK_SECRET_KEY=whsec_your_webhook_secret
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_your_publishable_key
Vercel (Optional) #
PROJECT_ID_VERCEL=your_vercel_project_id
TEAM_ID_VERCEL=your_vercel_team_id
VERCEL_AUTH_BEARER_TOKEN=your_vercel_token
BLOB_READ_WRITE_TOKEN=your_vercel_blob_token
Observability (Optional) #
NEXT_PUBLIC_SENTRY_DSN=your_sentry_dsn
SENTRY_AUTH_TOKEN=your_sentry_auth_token
NEXT_PUBLIC_OPENPANEL_CLIENT_ID=your_openpanel_client_id
OPENPANEL_CLIENT_SECRET=your_openpanel_client_secret
PAGERDUTY_APP_ID=your_pagerduty_app_id
SLACK_SUPPORT_WEBHOOK_URL=your_slack_webhook_url
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
External Services (Optional) #
OPENSTATUS_INGEST_URL=https://openstatus-private-location.fly.dev
SCREENSHOT_SERVICE_URL=your_screenshot_service_url
Development & Testing (Optional) #
TURBO_ENV_MODE=loose
PLAYGROUND_UNKEY_API_KEY=your_playground_key
WORKSPACES_HIDE_URL=false
🔍 Environment Variable Visibility in Coolify #
Where to Find Environment Variables #
- Stack Settings: Click on your OpenStatus stack
- Environment Tab: Look for "Environment Variables" section
- Add Variables: Click "Add Variable" for each required variable
- Apply Changes: Save and redeploy the stack
Variable Categories in Coolify UI #
- Database:
DATABASE_URL,DATABASE_AUTH_TOKEN - Authentication:
AUTH_SECRET,NEXT_PUBLIC_URL,SELF_HOST - Email:
RESEND_API_KEY - Analytics:
TINY_BIRD_API_KEY,TINYBIRD_URL - OAuth:
AUTH_GITHUB_*,AUTH_GOOGLE_* - Queue:
UPSTASH_*,QSTASH_* - Cloud:
GCP_*,CRON_SECRET - API Keys:
UNKEY_*,SUPER_ADMIN_TOKEN,FLY_REGION - Payments:
STRIPE_*,NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY - Vercel:
PROJECT_ID_VERCEL,TEAM_ID_VERCEL,VERCEL_* - Observability:
NEXT_PUBLIC_SENTRY_DSN,SENTRY_*,OPENPANEL_* - External:
OPENSTATUS_INGEST_URL,SCREENSHOT_SERVICE_URL - Development:
TURBO_ENV_MODE,PLAYGROUND_*,WORKSPACES_*
🚨 Troubleshooting #
Environment Variables Not Working? #
- Check Stack Logs: Look for environment variable errors
- Verify Variable Names: Ensure exact match with this guide
- Redeploy: Sometimes requires full stack restart
- Check Coolify Docs: Some variables may need special handling
Common Issues #
- DATABASE_URL: Must be
http://libsql:8080(internal container communication) - AUTH_SECRET: Must be at least 32 characters
- NEXT_PUBLIC_URL: Must include protocol (http:// or https://)
- RESEND_API_KEY: Required for email login functionality
Getting Help #
- Coolify Documentation: Check Coolify's environment variables guide
- OpenStatus Docs: Visit OpenStatus Documentation
- Community Support: Open an issue in the GitHub repository
🎯 Production Deployment #
Minimum Required Variables #
For a basic working deployment, you only need:
DATABASE_URL=http://libsql:8080
DATABASE_AUTH_TOKEN=
AUTH_SECRET=your-32-char-secret
NEXT_PUBLIC_URL=https://your-domain.com
RESEND_API_KEY=your-resend-key
Testing Your Setup #
- Deploy with minimum variables first
- Check if services start correctly
- Add optional variables incrementally
- Test each feature as you add variables
This ensures a smooth, working deployment! 🚀