|
`NODE_ENV`
|
Environment mode
|
production
|
|
`BASE_URI`
|
Service deployment URL
|
[https://api.yourdomain.com](https://api.yourdomain.com)
|
|
`BASE_WEBHOOKS_URI`
|
Optional: Override webhook endpoint base URL. Use this when you need webhooks to be accessible at a different URL than the main API (e.g., when the API is private but webhooks need a public proxy). Works the same way as BASE\_URI, but only for webhook endpoints.
|
[https://webhooks-proxy.yourdomain.com](https://webhooks-proxy.yourdomain.com)
|
|
`BASE_OAUTH_CALLBACK_URI`
|
Optional: Override OAuth callback endpoint base URL. Use this when you need OAuth callbacks to be accessible at a different URL than the main API (e.g., when the API is private but OAuth callbacks need a public proxy). Works the same way as BASE\_URI, but only for OAuth callback endpoints.
|
[https://oauth-proxy.yourdomain.com](https://oauth-proxy.yourdomain.com)
|
|
`BASE_URI_INTERNAL`
|
Internal service deployment URI (to be used for call from workers to the service)
|
[https://api.yourdomain.com](https://api.yourdomain.com)
|
|
`CUSTOM_CODE_RUNNER_URI`
|
Custom Code Runner service URL
|
[https://custom-code-runner.yourdomain.com](https://custom-code-runner.yourdomain.com)
|
|
Authentication variables
|
Provider-specific API authentication variables. See Authentication section.
|
`AUTH_PROVIDER`, `AUTH0_*`, `AUTH_SECRET`, `BETTERAUTH_*`
|
|
`TMP_STORAGE_BUCKET`
|
Temporary storage bucket (recommend auto-expiration policy)
|
integration-app-tmp
|
|
`CONNECTORS_STORAGE_BUCKET`
|
Connectors storage bucket
|
integration-app-connectors
|
|
`STATIC_STORAGE_BUCKET`
|
Static files storage bucket
|
integration-app-static
|
|
`BASE_STATIC_URI`
|
Static content base URL (files uploaded to the static bucket should be served from this URL)
|
[https://static.yourdomain.com](https://static.yourdomain.com)
|
|
`REDIS_URI` or `REDIS_CLUSTER_URI_X`
|
URL for Redis server. For Redis cluster, provide multiple: REDIS\_CLUSTER\_URI\_1, REDIS\_CLUSTER\_URI\_2, ...
|
redis\://user:[password@redis-service.com](mailto:password@redis-service.com):6379/
|
|
`WORKER_REDIS_URI` or `WORKER_REDIS_CLUSTER_URI_X`
|
Optional. URL for a dedicated Redis server for background worker tasks.
This allows you to separate worker task execution from main Redis operations for better performance and isolation.
If not provided, the main Redis server will be used for both purposes.
For Redis clusters, provide multiple:
WORKER\_REDIS\_CLUSTER\_URI\_1, WORKER\_REDIS\_CLUSTER\_URI\_2, etc.
|
redis\://user:[password@redis-service.com](mailto:password@redis-service.com):6379/
|
|
`SECRET`
|
JWT token signing secret
|
s3cr3tString
|
|
`ENCRYPTION_SECRET`
|
Credentials encryption secret
|
v3rys3cr3tstring
|
|
`MONGO_URI`
|
MongoDB connection string
|
mongodb+srv://login:[pass@mymongo.com](mailto:pass@mymongo.com)/integration-api
|
|
`PORT`
|
Container listening port (default: 5000)
|
5000
|
|
`AWS_REGION`
|
AWS S3 region (when using S3 storage)
|
eu-central-1
|
|
`AWS_ACCESS_KEY_ID`
|
AWS S3 access key (when using S3 storage)
|
|
|
`AWS_SECRET_ACCESS_KEY`
|
AWS S3 secret key (when using S3 storage)
|
|
|
`STORAGE_PROVIDER`
|
Storage provider type: `s3` (AWS S3), `abs` (Azure Blob Storage), or `gcs` (Google Cloud Storage). Default: `s3`
|
abs
|
|
`AZURE_STORAGE_CONNECTION_STRING`
|
Azure Blob Storage connection string (when using Azure storage)
|
|
|
`AZURE_STORAGE_ACCOUNT_NAME`
|
Azure storage account name (alternative to connection string)
|
|
|
`AZURE_STORAGE_ACCOUNT_KEY`
|
Azure storage account key (alternative to connection string)
|
|
|
`GOOGLE_CLOUD_PROJECT_ID`
|
Google Cloud project ID (when using GCS storage)
|
|
|
`GOOGLE_CLOUD_KEYFILE`
|
Path to Google Cloud service account key file (optional, uses Application Default Credentials if not provided)
|
|
|
`ENABLE_LIMITS`
|
Optional: Enable workspace resource limits
|
true
|
|
`CONNECTION_CREDENTIALS_STORAGE_TYPE`
|
Optional: storage type for connection credentials: `database`, `external_api`. Default: `database`
|
|
|
`CONNECTION_CREDENTIALS_EXTERNAL_API_ENDPOINT_URL`
|
When `external_api` chosen for connection credentials storage, this is required.
|
[https://api.yourdomain.com](https://api.yourdomain.com)
|
|
`MAX_NODE_RUN_OUTPUT_SIZE_MB`
|
Optional: Maximum size in megabytes for node run outputs. Default: `20`
|
50
|
|
`MONGO_MAX_IDLE_TIME_MS`
|
Maximum time that a connection can remain idle in the pool before being closed. Default: 0 (connections never timeout)
|
300000
|
|
`MONGO_MIN_POOL_SIZE`
|
Minimum number of connections to maintain in the MongoDB connection pool. Default: 0 (no minimum)
|
3
|
|
`MONGO_MAX_POOL_SIZE`
|
Maximum number of connections allowed in the MongoDB connection pool. Default: 100
|
100
|
|
`MONGO_SERVER_SELECTION_TIMEOUT_MS`
|
Maximum time in milliseconds to wait for MongoDB server selection. Useful in containerized environments with slower DNS resolution. Default: 30000 (MongoDB default)
|
60000
|
|
`REDIS_CONNECT_TIMEOUT_MS`
|
Maximum time in milliseconds to wait for Redis connection. Default: 10000 (standalone), 60000 (cluster)
|
60000
|
|
`REDIS_DISABLE_TLS_VERIFICATION`
|
Set to `true` to disable TLS certificate verification for Redis connections. Required for AWS ElastiCache with in-transit encryption.
|
true
|
|
`SKIP_HEALTH_CHECKS`
|
Skip specific health checks during startup. Use `all` to skip all checks, or a comma-separated list of: `mongo`, `redis`, `storage`, `custom_code`. Useful for Kubernetes environments with slower initial DNS resolution.
|
all
|
|
`HEALTH_CHECK_RETRIES`
|
Number of retry attempts for health checks after initial failure. Health checks use exponential backoff with jitter between retries. Default: 3
|
5
|
|
`HEALTH_CHECK_RETRY_DELAY_MS`
|
Initial delay between health check retries in milliseconds. Subsequent retries use exponential backoff (delay doubles each retry). Default: 1000
|
2000
|
|
`HEALTH_CHECK_MAX_RETRY_DELAY_MS`
|
Maximum delay between health check retries in milliseconds. Prevents exponential backoff from growing too large. Default: 10000
|
30000
|
|
`SELF_HOSTING_TOKEN`
|
**Required for self-hosted deployments.** Token for validating your self-hosted Membrane installation. Generate this token from your organization settings in console. The token is validated against Membrane's cloud API on startup.
|
sht\_abc123...
|