EngineConfiguration

Engine configuration

The engine shell reads configuration from environment variables. Defaults are suitable for local development; production deployments should override the security-sensitive ones.

Database (Sequelize / PostgreSQL)

VariableDefaultNotes
DB_HOSTlocalhostDatabase host
DB_PORT5432Database port
DB_USERboxDatabase user
DB_PASSWORDboxDatabase password
DB_NAMEboxDatabase name
DB_SSLfalseEnable TLS to the database

Server

VariableDefaultNotes
PORT3001HTTP port the engine listens on

Authentication

VariableDefaultNotes
BOX_JWT_SECRETbox-dev-secret-change-meSigning secret for box-issued JWTs
BOX_JWT_EXPIRES_IN7dToken lifetime
⚠️

Change BOX_JWT_SECRET and BOX_COOKIE_SECRET for any non-local deployment. The defaults are intentionally obvious placeholders.

Google OAuth

VariableDefaultNotes
GOOGLE_CLIENT_ID(empty)OAuth client id
GOOGLE_CLIENT_SECRET(empty)OAuth client secret
GOOGLE_REDIRECT_URIhttp://localhost:3011/accounts/google/callbackOAuth callback

Box runtime

VariableDefaultNotes
BOX_ROOT_DOMAINSbox.localCSV of root domains the box serves
BOX_CORS_ORIGINSDASHBOARD_URLCSV of allowed CORS origins
BOX_COOKIE_SECRETdev-cookie-secret-change-meCookie signing secret
BOX_TENANT_SLUG_HEADERx-tenant-slugHeader carrying the resolved tenant slug

Dashboards & control plane

VariableDefaultNotes
DASHBOARD_URLhttp://localhost:3002Console URL
HELP_URL{DASHBOARD_URL}/helpHelp link
CONTROL_PLANE_URL(empty)Control-plane base URL
POTTER_LICENSE_KEY(empty)License key for control-plane integration

Payment gateways

The shell reads no payment gateway variables. Provider credentials are read by whatever payment adapter you bind — for example a Paystack adapter reads PAYSTACK_SECRET_KEY. Keep gateway secrets with the adapter, not the shell.