Configuration
Reference for Sequin configuration options
Environment variables
The standard Docker Compose file includes sane defaults for getting started quickly.
You can configure Sequin by setting environment variables.
To see the file that loads and uses these environment variables, see config/runtime.exs.
General configuration
SERVER_PORT
: Server port number (default: 7376)- This is the port that Sequin will listen on for incoming connections. It’s the port for both the web console as well as the API.
SERVER_HOST
: Host name for the server- If you’re hosting Sequin at a custom domain, you should set this to that domain.
Configuration file
You can provide a YAML configuration file to Sequin. This configuration file will upsert databases, sinks, and other resources on boot.
CONFIG_FILE_PATH
: Path to configuration fileCONFIG_FILE_YAML
: YAML configuration content (base64 encoded)- If it’s easier, you can provide the YAML directly as an environment variable. The YAML file must be base64 encoded.
Postgres configuration
PG_URL
: Complete Postgres connection URL (alternative to individual PG_* variables below)- (e.g.
postgres://sequin:password@localhost:5432/sequin
)
- (e.g.
PG_PORT
: Postgres port number (default: 5432)PG_HOSTNAME
: Postgres host addressPG_DATABASE
: Database namePG_USERNAME
: Database userPG_PASSWORD
: Database passwordPG_IPV6
: Enable IPv6 support (default: false)PG_SSL
: Enable SSL for Postgres connection (default: false)PG_POOL_SIZE
: Database connection pool size (default: 10)
PG_POOL_SIZE
The PG_POOL_SIZE
variable controls the maximum number of concurrent connections that Sequin will maintain to Postgres. For higher throughput on larger Postgres instances, you should increase this value.
Runtime configuration
BACKFILL_MAX_PENDING_MESSAGES
: When backfilling, the maximum number of pending messages to accumulate in the sink’s outbox before pausing the backfill. When messages start draining to the sink, the backfill will automatically resume. The default is 1M messages.
Redis configuration
REDIS_URL
: Redis connection URL- (e.g.
redis://localhost:6379
)
- (e.g.
REDIS_IPV6
: Enable IPv6 support (default: false)
Security configuration
SECRET_KEY_BASE
: Base secret key for encryptionVAULT_KEY
: Vault encryption key
See secret generation for how to generate these values.
Feature configuration
FEATURE_ACCOUNT_SELF_SIGNUP
: Enable account self-signup (default: enabled)- If disabled, users must be invited to the Sequin instance by an admin. Turn this setting off if you’ll be hosting Sequin at a public URL.
FEATURE_PROVISION_DEFAULT_USER
: Enable default user provisioning (default: enabled)- By default, Sequin provisions a default user on startup if one doesn’t exist. This is a convenience feature to get started quickly. If you’re hosting Sequin at a public URL, you should consider either changing the password for this user or disabling this feature.
SEQUIN_TELEMETRY_DISABLED
: Disable telemetry data collection (default: false)- Sequin collects telemetry data by default. While we’re early, this greatly helps us improve the product. To opt-out, set this to
true
.
- Sequin collects telemetry data by default. While we’re early, this greatly helps us improve the product. To opt-out, set this to
Email configuration
Email configuration is coming soon. Please comment on this issue if you’d like to see this feature.
OAuth configuration
To use GitHub OAuth as a sign-in/sign-up method, provide the following environment variables:
GITHUB_CLIENT_ID
: GitHub OAuth client IDGITHUB_CLIENT_SECRET
: GitHub OAuth client secret
Monitoring/stats configuration
Monitoring/stats configuration is coming soon. Please comment on this issue if you’d like to see this feature.
Clustering
At the moment, Sequin does not support clustering. That means you should run Sequin as a single-node instance. Please comment on this issue if you’d like high availability.
Deploying to production
Secret generation
For production environments, generate secure values for SECRET_KEY_BASE
and VAULT_KEY
:
Was this page helpful?