Skip to content

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.

Guides

Related Section(s)