This page documents all environment variables used to configure the Everruns server and worker.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/everruns/everruns/llms.txt
Use this file to discover all available pages before exploring further.
Database
PostgreSQL connection string.Format: Production with TLS:
postgres://user:password@host:port/database[?options]Local development:Maximum database connections per server instance.For multi-instance deployments, ensure:A startup warning fires if pool × instances exceeds 80% of PostgreSQL’s
max_connections (default 100).Expected PostgreSQL max_connections limit. Used to validate connection pool sizing in multi-instance deployments.
Encryption
Primary encryption key for protecting API keys stored in the database.Format: Example:
<key_id>:<base64_key> where key is 32 bytes, base64-encodedGenerate:kek-v1:8B3uCQ4Znx45hl5nB+PKVriRrj/KtEVM+wBZ2VGa9vY=Uses AES-256-GCM envelope encryption with DEK (Data Encryption Key) wrapped by this KEK (Key Encryption Key).Previous encryption key for key rotation.During rotation:
- Set new key as
SECRETS_ENCRYPTION_KEY - Move old key to
SECRETS_ENCRYPTION_KEY_PREVIOUS - Deploy with both keys configured
- Background re-encryption migrates data to new key
- Remove old key after re-encryption completes
SECRETS_ENCRYPTION_KEY.Worker Configuration
gRPC server address for worker-to-server communication.Worker setting - specifies where workers connect to the control plane.Docker Compose: Use service nameExternal workers:
Bearer token for worker gRPC authentication.Required in production to prevent unauthorized workers from connecting.Generate a secure random token:Must match on both server and all workers.
Worker gRPC Mutual TLS (mTLS)
Optional mutual TLS for encrypted and authenticated worker-server communication.Path to TLS certificate file (PEM format).Server: Enables TLS on gRPC listener (port 9001)Worker: Client certificate for mTLS authentication
Path to TLS private key file (PEM format).Used with
WORKER_GRPC_TLS_CERT.Path to CA certificate for verification (PEM format).Server: Enables client certificate verification (mTLS)Worker: Verifies server certificate
Expected server domain name for certificate verification.Worker setting - validates server certificate matches this domain.
Server Configuration
HTTP server bind address.Production: Use
0.0.0.0 to listen on all interfacesHTTP server port for REST API.
gRPC server port for worker communication.
HTTP/2 Flow Control
Critical for high-concurrency SSE (Server-Sent Events) streaming.Per-stream flow control window (bytes).Default: 2 MB (2,097,152 bytes)Increase for high-throughput event streams. The default 65 KB exhausts under many slow-reading clients.
Per-connection flow control window (bytes).Default: 16 MB (16,777,216 bytes)
Maximum concurrent HTTP/2 streams per connection.
Authentication
See Authentication for detailed configuration.Authentication mode.Options:
none- No authentication (anonymous user)admin- Single admin user via env varsfull- User registration + OAuthexternal- Third-party auth provider (PropelAuth, Auth0, etc.)
JWT signing secret (required for
admin and full modes).Minimum 32 bytes recommended:Base URL for OAuth callbacks.Include path prefix if behind reverse proxy:
Admin user email (
admin mode only).Admin user password (
admin mode only).Access token lifetime in seconds.Default: 900 seconds (15 minutes)
Refresh token lifetime in seconds.Default: 2,592,000 seconds (30 days)
Disable password authentication (OAuth only).
Disable user registration.
OAuth Providers
Google OAuth client ID.
Google OAuth client secret.
Google OAuth redirect URI.Default:
{AUTH_BASE_URL}/v1/auth/callback/googleComma-separated allowed email domains for Google OAuth.Example:
example.com,partner.comGitHub OAuth client ID.
GitHub OAuth client secret.
GitHub OAuth redirect URI.Default:
{AUTH_BASE_URL}/v1/auth/callback/githubUser Connections
Separate OAuth apps for GitHub/GitLab repository access (not for login).GitHub OAuth App client ID for repository connections.
GitHub OAuth App client secret for repository connections.
GitHub connection callback URL.Default:
{AUTH_BASE_URL}/v1/user/connections/github/callbackCORS
Comma-separated allowed CORS origins.Only required if frontend is on different origin than API.Example:
Observability
OpenTelemetry
OTLP endpoint for distributed tracing.Local Jaeger:Enables OpenTelemetry tracing with Gen-AI semantic conventions for LLM operations.
Service name for traces.
Deployment environment label (e.g.,
production, staging, development).Braintrust
Optional LLM observability platform integration.Braintrust API key. Setting this enables Braintrust integration.
Braintrust project name.
Braintrust project ID (alternative to project name, skips name resolution API call).
Braintrust API URL.
Logging
Rust logging level.Levels:
error, warn, info, debug, traceModule-specific:Multi-Instance Deployment
Total number of server instances in deployment.Used for:
- SSE connection limits (global and per-org limits divided by N)
- Database pool size validation
- Metrics aggregation
Development Mode
Enable development mode with in-memory storage.Dev mode behavior:Not suitable for production.
- No PostgreSQL required
- In-memory storage (data lost on restart)
- In-process worker execution
- gRPC server disabled
- No migrations
Default LLM Provider Keys
These are fallback API keys. The recommended approach is to configure providers via the UI (Settings > Providers), which stores encrypted keys in the database.Default OpenAI API key.Format:
sk-...Default Anthropic API key.Format:
sk-ant-...Default Google Gemini API key.
Testing
Comma-separated LLM providers to skip in integration tests.Useful when API keys are set but inaccessible from test environment.Example:
Startup Options
Disable Migrations
Migrations auto-apply on server startup. To disable:Environment File Example
Here’s a complete.env.example from the repository: