Environment Variables Reference

Quick reference for configuring all three deployments: mi-casa (main app), ohlc-service, and ctrader-service.

Overview Table

Variablemi-casaohlc-servicectrader-serviceNotes
Server
NODE_ENVproduction in all deployed envs
PORT3870 / 3871 / 3872
LOG_LEVELdebug | info | warn | error
PostgreSQL (mi-casa)
POSTGRES_SERVERhost:port
POSTGRES_DB
POSTGRES_USER
POSTGRES_PASSWORD
TimescaleDB (ohlc-service)
TIMESCALE_SERVERhost:port
TIMESCALE_DB
TIMESCALE_USER
TIMESCALE_PASSWORD
TimescaleDB (ctrader-service)
TIMESCALE_SERVERSame server, separate DB
TIMESCALE_DB
TIMESCALE_USER
TIMESCALE_PASSWORD
Auth
JWT_SECRETSign/verify JWTs
App
APP_URLPublic base URL of mi-casa
CORS_ORIGINComma-separated allowed origins
ENABLE_SIGNUPtrue to allow self-registration
BUN_PUBLIC_ENABLE_SIGNUPFrontend flag
OHLC microservice
OHLC_SERVICE_URLInternal URL of ohlc-service
OHLC_SERVICE_API_KEYShared secret (outbound from mi-casa)
OHLC_API_KEYSame secret (inbound to ohlc-service)
OHLC_ALERT_EMAIL_THRESHOLDSignal score threshold for email alerts
REDETECT_CONCURRENCYMax concurrent redetect pairs, default 4
cTrader microservice
CTRADER_SERVICE_URLInternal URL of ctrader-service
CTRADER_SERVICE_API_KEYShared secret (outbound)
CTRADER_API_KEYSame shared secret (inbound)
CTRADER_CLIENT_IDSpotware app client ID
CTRADER_CLIENT_SECRETSpotware app client secret
CTRADER_REDIRECT_URIOAuth2 callback URL
CTRADER_ENVdemo or live — selects WS endpoint
CTRADER_MD_ACCESS_TOKENService account OAuth2 access token
CTRADER_MD_REFRESH_TOKENService account refresh token (auto-refreshed)
CTRADER_MD_ACCOUNT_IDService account ctidTraderAccountId
SMTP (optional)
SMTP_HOST
SMTP_PORT
SMTP_USER
SMTP_PASS
SMTP_FROM
SMTP_SECURE
OpenTelemetry (optional)
OTEL_ENDPOINTOTLP HTTP endpoint
OTEL_SERVICE_NAMEService label in SigNoz
BUN_PUBLIC_OTEL_ENABLEDFrontend flag
BUN_PUBLIC_OTEL_SERVICE_NAME
OpenPanel Analytics (optional)
BUN_PUBLIC_OPENPANEL_ENABLED
BUN_PUBLIC_OPENPANEL_CLIENT_ID
BUN_PUBLIC_OPENPANEL_API_URL
Object Storage (optional)
STORAGE_ENDPOINT
STORAGE_PUBLIC_URL
STORAGE_ACCESS_KEY
STORAGE_SECRET_KEY
STORAGE_BUCKET
STORAGE_USE_SSL

CTRADER_ENV controls which cTrader WebSocket endpoint the shared market data feed connects to: demowss://demo.ctraderapi.com:5035/, livewss://live.ctraderapi.com:5035/.


Quick Copy Lists

mi-casa

NODE_ENV=
PORT=
LOG_LEVEL=
POSTGRES_SERVER=
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
JWT_SECRET=
APP_URL=
CORS_ORIGIN=
BUN_PUBLIC_ENABLE_SIGNUP=
OHLC_SERVICE_URL=
OHLC_SERVICE_API_KEY=
OHLC_ALERT_EMAIL_THRESHOLD=
CTRADER_SERVICE_URL=
CTRADER_SERVICE_API_KEY=
CTRADER_CLIENT_ID=
CTRADER_CLIENT_SECRET=
CTRADER_REDIRECT_URI=
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASS=
SMTP_FROM=
SMTP_SECURE=
OTEL_ENDPOINT=
OTEL_SERVICE_NAME=
BUN_PUBLIC_OTEL_ENABLED=
BUN_PUBLIC_OTEL_SERVICE_NAME=
BUN_PUBLIC_OPENPANEL_ENABLED=
BUN_PUBLIC_OPENPANEL_CLIENT_ID=
BUN_PUBLIC_OPENPANEL_API_URL=
STORAGE_ENDPOINT=
STORAGE_PUBLIC_URL=
STORAGE_ACCESS_KEY=
STORAGE_SECRET_KEY=
STORAGE_BUCKET=
STORAGE_USE_SSL=

ohlc-service

NODE_ENV=
PORT=
LOG_LEVEL=
TIMESCALE_SERVER=
TIMESCALE_DB=
TIMESCALE_USER=
TIMESCALE_PASSWORD=
OHLC_API_KEY=
OHLC_ALERT_EMAIL_THRESHOLD=
REDETECT_CONCURRENCY=
CTRADER_SERVICE_URL=
CTRADER_SERVICE_API_KEY=
OTEL_ENDPOINT=
OTEL_SERVICE_NAME=

ctrader-service

NODE_ENV=
PORT=
TIMESCALE_SERVER=
TIMESCALE_DB=
TIMESCALE_USER=
TIMESCALE_PASSWORD=
CTRADER_API_KEY=
CTRADER_CLIENT_ID=
CTRADER_CLIENT_SECRET=
CTRADER_ENV=
CTRADER_MD_ACCESS_TOKEN=
CTRADER_MD_REFRESH_TOKEN=
CTRADER_MD_ACCOUNT_ID=