Skip to Content
🎉 New release with new features and improvements! V0.0.5 Release →

Setup

Use this page to apply your configuration and verify startup.

Pass Configuration

There are two ways to pass the configuration to the engine:

Pass the full JSON value directly in BSH_CONFIG:

export BSH_CONFIG='{"env":"PROD","datasource":{...},...}'
services: engine: image: 'bshsolutions/engine' environment: - 'BSH_CONFIG={"env":"PROD","datasource":{...},...}'

More secure ways to pass the configuration will be added as development progresses.

Validation

The engine validates the configuration at startup. The following fields are required:

  1. datasource.url (or host + database combination)
  2. datasource.user
  3. datasource.password
  4. admin.email

If any required field is missing, the engine fails to start with a SERVICE_UNAVAILABLE error indicating which fields are missing.

Security Best Practices

Follow these security guidelines when configuring your BSH Engine instance.

  1. Never commit real configuration credentials to version control.
  2. Use environment variables or a secret manager in production.
  3. Restrict CORS origins to specific domains in production.
  4. Use strong JWT secrets (at least 256 bits).
  5. Use app-specific passwords for email services.
  6. Rotate credentials regularly.