# ============================================ # Bookra Backend API Configuration # ============================================ # Active stack: # - frontend signs users in with Neon Auth # - backend verifies Neon Auth JWTs # - backend serves booking + billing APIs # - Paddle handles SaaS billing + customer portal # ============================================ BOOKRA_APP_ENV=staging BOOKRA_API_PORT=8080 BOOKRA_API_URL=http://localhost:8080 BOOKRA_FRONTEND_URL=http://localhost:3000 # -------------------------------------------- # DEMO MODE (Standalone showcase mode) # -------------------------------------------- # Set to true to enable permanent demo mode with in-memory data. # When enabled: # - API uses MemoryRepository with pre-populated demo data # - All requests are auto-authenticated as demo-owner # - No database connection required # - Perfect for showcasing the app without external dependencies # Note: When DEMO_MODE=false, the following are required: # - BOOKRA_DATABASE_URL # - BOOKRA_NEON_AUTH_URL (for JWT verification) BOOKRA_DEMO_MODE=false # -------------------------------------------- # DATABASE (Required when DEMO_MODE=false) # -------------------------------------------- BOOKRA_DATABASE_URL=postgres://user:password@ep-example-pooler.region.aws.neon.tech/bookra_backend?sslmode=require BOOKRA_DATABASE_DIRECT_URL=postgres://user:password@ep-example.region.aws.neon.tech/bookra_backend?sslmode=require # -------------------------------------------- # AUTHENTICATION (Required when DEMO_MODE=false) # -------------------------------------------- # Neon Auth base URL for JWKS verification. BOOKRA_NEON_AUTH_URL=https://ep-mute-water-alem1v8u.neonauth.c-3.eu-central-1.aws.neon.tech/neondb/auth # Optional emergency/local fallback for non-Neon JWT verification. # Leave blank in normal Neon Auth setup. BOOKRA_AUTH_JWT_SECRET= # -------------------------------------------- # INTERNAL SERVICES # -------------------------------------------- # Job runner key for internal API endpoints (reminders, notifications) BOOKRA_JOB_RUNNER_KEY=job_runner_secret_123 # -------------------------------------------- # PADDLE BILLING (Required for live checkout/webhooks) # -------------------------------------------- # BOOKRA_PADDLE_ENV must be "sandbox" or "live". # API key: Paddle dashboard -> Developer tools -> Authentication. # Webhook secret: Paddle dashboard -> Notification settings -> destination secret key. # Price IDs: Paddle dashboard -> Catalog -> Product price IDs. BOOKRA_PADDLE_ENV=sandbox BOOKRA_PADDLE_API_KEY= BOOKRA_PADDLE_WEBHOOK_SECRET= BOOKRA_PADDLE_STARTER_CZK_PRICE_ID= BOOKRA_PADDLE_STARTER_USD_PRICE_ID= BOOKRA_PADDLE_PRO_CZK_PRICE_ID= BOOKRA_PADDLE_PRO_USD_PRICE_ID= BOOKRA_PADDLE_BUSINESS_CZK_PRICE_ID= BOOKRA_PADDLE_BUSINESS_USD_PRICE_ID= # -------------------------------------------- # EMAIL (Optional) # -------------------------------------------- # Only configure if backend needs to send reminder emails directly. BOOKRA_EMAIL_FROM= BOOKRA_SMTP_HOST= BOOKRA_SMTP_PORT=587 BOOKRA_SMTP_USERNAME= BOOKRA_SMTP_PASSWORD= # -------------------------------------------- # ANALYTICS (Optional) # -------------------------------------------- BOOKRA_UMAMI_API_URL= BOOKRA_UMAMI_API_KEY=