This document lists all environment variables required by MedInfo backend application.
NODE_ENV- development or productionPORT- Server port (default: 8000)LOG_LEVEL- debug, info, warn, error, fatal, silent
DATABASE_URL_DEV- PostgreSQL connection for developmentDATABASE_URL- PostgreSQL connection for productionDB_MIGRATING- Migration state flagDB_SEEDING- Seeding state flagSEED_PASSWORD- Default password for seeded users
ACCESS_SECRET- Secret for access tokens (generate:openssl rand -base64 32)REFRESH_SECRET- Secret for refresh tokens (generate:openssl rand -base64 32)ACCESS_JWT_EXPIRES_IN- Access token lifetime (milliseconds)REFRESH_JWT_EXPIRES_IN- Refresh token lifetime (milliseconds)
BASE_BACKEND_HOST_DEV- Backend URL for development (http://localhost:8000)BASE_BACKEND_HOST_PROD- Backend URL for productionBASE_FRONTEND_HOST_DEV- Frontend URL for development (http://localhost:3000)BASE_FRONTEND_HOST_PROD- Frontend URL for production
REDIS_CACHE_URL_DEV- Redis cache for development (redis://localhost:6379)REDIS_CACHE_URL_PROD- Redis cache for productionREDIS_QUEUE_URL_DEV- Redis queue for development (redis://localhost:6380)REDIS_QUEUE_URL_PROD- Redis queue for production
GOOGLE_CLIENT_ID- Google OAuth client IDGOOGLE_CLIENT_SECRET- Google OAuth client secretGOOGLE_REDIRECT_URI- OAuth callback URLGOOGLE_AUTH_API_KEY- Google API key for additional services
CLOUDINARY_CLOUD_NAME- Cloudinary account cloud nameCLOUDINARY_API_KEY- Cloudinary API keyCLOUDINARY_API_SECRET- Cloudinary API secret
ZOOM_ACCOUNT_ID- Zoom account IDZOOM_CLIENT_ID- Zoom OAuth client IDZOOM_CLIENT_SECRET- Zoom OAuth client secret
-
Copy environment template:
cp apps/backend/.env.example apps/backend/.env
-
Generate secrets:
openssl rand -base64 32 # For ACCESS_SECRET openssl rand -base64 32 # For REFRESH_SECRET
-
Configure external services:
- See external-services.md for setup instructions
-
Test configuration:
docker compose up -d docker compose exec backend env | grep -E "(GOOGLE_|CLOUDINARY_|ZOOM_)"
When using Docker, these URLs are automatically set:
DATABASE_URL_DEV=postgresql://postgres:postgres@medinfo-postgres-db:5432/medinfo
REDIS_CACHE_URL_DEV=redis://medinfo-redis-cache:6379
REDIS_QUEUE_URL_DEV=redis://medinfo-redis-queue:6379For troubleshooting environment variable issues, see troubleshooting.md.