Configuration - Backend
OpenQuok backend configuration — env vars, Supabase, and services for the social scheduler.
Overview
The backend reads its runtime settings from environment variables, and you also configure your Supabase project in the Supabase Dashboard (database, authentication, API keys, and related project settings). Any change to environment variables requires restarting the backend process so the new values are loaded.
An example file with the most commonly used settings is checked in at backend/.env.development.example. Copy it to backend/.env.development.local under backend/ (the example header explains load order and how it relates to backend/.env). Use that local file for secrets and overrides you do not commit.
For production, follow the same naming convention: maintain backend/.env.production.local (or inject the same keys from your host’s secret store). In local development, keep NODE_ENV set to development; for deployment, use production.
NODE_ENV=development
FRONTEND_DOMAIN_URL=http://localhost:5173 Common setup steps
Start with the example env file
Copy backend/.env.development.example to backend/.env.development.local and fill in values. Restart the backend after changes.
Configure Supabase in the dashboard
Create a Supabase project, then collect the URL + keys you need for the backend (API keys and JWT settings). Some features (like cron integration on Supabase Cloud) require enabling a dashboard integration before running migrations.
Add optional services as needed
Configure Redis (recommended for production), Sentry (optional), Google OAuth (optional), and email (Resend in production) depending on what you enable in your environment variables.