.env.example 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Database
  2. DATABASE_URL="postgresql://torqvoice:torqvoice@db:5432/torqvoice"
  3. # Authentication (generate with: openssl rand -hex 32)
  4. BETTER_AUTH_SECRET="your-secret-here"
  5. # App URL (used by both the app and Better Auth)
  6. NEXT_PUBLIC_APP_URL="http://localhost:3000"
  7. # Set to true only when Cloudflare proxies every request AND the origin
  8. # refuses traffic that did not come through it (Cloudflare IP ranges allowed
  9. # at the firewall or in nginx).
  10. #
  11. # Behind Cloudflare this is required, not optional: the proxy sets X-Real-IP
  12. # from the connection it sees, which is a Cloudflare edge address shared by
  13. # thousands of visitors, so leaving this off collapses everyone into a handful
  14. # of rate-limit buckets and real users start getting 429s.
  15. #
  16. # Without the origin lock it is worse than useless, because cf-connecting-ip is
  17. # then just a header anyone reaching the box directly can write for themselves.
  18. TRUST_CF_CONNECTING_IP=false
  19. # Integrations (Settings → Integrations)
  20. # Key that seals third-party tokens at rest (generate with: openssl rand -hex 32).
  21. # Without it the key is derived from BETTER_AUTH_SECRET, with a warning at startup.
  22. INTEGRATIONS_ENCRYPTION_KEY=""
  23. # OAuth apps the platform registers with each provider. Leave empty on a
  24. # self-hosted install to have each workshop enter its own app credentials.
  25. GOOGLE_INTEGRATION_CLIENT_ID=""
  26. GOOGLE_INTEGRATION_CLIENT_SECRET=""
  27. MICROSOFT_INTEGRATION_CLIENT_ID=""
  28. MICROSOFT_INTEGRATION_CLIENT_SECRET=""
  29. ZOOM_INTEGRATION_CLIENT_ID=""
  30. ZOOM_INTEGRATION_CLIENT_SECRET=""
  31. # Intuit development keys reach sandbox companies, production keys live ones;
  32. # the connector works out which it was given.
  33. QUICKBOOKS_INTEGRATION_CLIENT_ID=""
  34. QUICKBOOKS_INTEGRATION_CLIENT_SECRET=""