Skip to content

Environment variables

Wojciech Frącz edited this page Apr 15, 2026 · 13 revisions

Docker specific variables

Variable Default Description
SUPLA_FIRST_USER_EMAIL "" (empty) E-mail address of the first user that should be created when the SUPLA Cloud starts for the first time.
SUPLA_FIRST_USER_PASSWORD "" (empty) Password of the first user that should be created when the SUPLA Cloud starts for the first time.
VOLUME_DATA ./var Where to store SUPLA Cloud's data.
PORT_HTTP 80 HTTP port to expose when working in standalone mode.
PORT_HTTPS 443 HTTPS port to expose when working in standalone mode.
DB_IMAGE mariadb:12.2.2 Database container to user.

Required variables

Variable Description
APP_ENV The application environment. Must be set to prod in deployment. See more at Configuring Symfony.
APP_DEBUG Whether to enable debug mode or not. Must be set to 0 in deployment.
APP_SECRET Random, at least 32-chars, at best 64-chars length secret for the application. Must be set in deployment. You may generate it with openssl rand -hex 32.
DATABASE_PASSWORD MariaDB database password.
SUPLA_HOST_ADDRESS Host (and possibly port) where SUPLA Cloud is running. E.g. svr44.supla.org or mycloudinstance.local:8080.
MAILER_DSN Mailer DSN connection string.
For Gmail as a transport, use: gmail://username:password@localhost
For a generic SMTP server, use: smtp://localhost:25?encryption=&auth_mode=
With username and password, use: smtp://username:password@localhost:25?encryption=&auth_mode=
SUPLA_MAILER_FROM From field for emails sent by SUPLA Cloud.
SUPLA_ADMIN_EMAIL Email address of the admin user.

Optional variables (with defaults)

Variable Default Description
DATABASE_HOST supla-db MariaDB database host.
DATABASE_PORT 3306 MariaDB database port.
DATABASE_NAME supla MariaDB database name.
DATABASE_USER supla MariaDB database user.
DATABASE_VERSION mariadb-12.2.2 MariaDB database version.
CORS_ALLOW_ORIGIN ^https?://(localhost|127.0.0.1)(:[0-9]+)?$ Regex for hosts that should be enabled for CORS requests.
GOOGLE_RECAPTCHA_SITE_KEY "" (empty) Public site key for Google reCAPTCHA. Must be set in deployment if you want to use reCAPTCHA.
GOOGLE_RECAPTCHA_SECRET "" (empty) Secret key for Google reCAPTCHA. Must be set in deployment if you want to use reCAPTCHA.
SUPLA_ACCOUNTS_REGISTRATION_ENABLED true Whether accounts registration is enabled or not. Use true or false.
SUPLA_TOKEN_LIFETIME_WEBAPP 1200 Duration in seconds for which access tokens are valid for web applications (the session length).
SUPLA_ACT_AS_BROKER_CLOUD false Whether the server should work as an official broker. Use true or false.
SUPLA_API_RATE_LIMIT_ENABLED true Whether to enable API rate limiting. Use true or false.
SUPLA_API_RATE_LIMIT_GLOBAL_LIMIT 320/60 Global limit for API requests (if used). Use format requests/seconds.
SUPLA_API_RATE_LIMIT_USER_DEFAULT_LIMIT 1000/3600 Default per-user limit for API requests (if used). Use format requests/seconds.
SUPLA_BRUTE_FORCE_AUTH_PREVENTION_ENABLED true Whether to enable brute force prevention for authentication (blocking user for some time after unsuccessful login attempts). Use true or false.
SUPLA_MQTT_BROKER_ENABLED false Whether to enable MQTT broker. Use true or false.
SUPLA_MQTT_BROKER_HOST "" (empty) MQTT broker host.
SUPLA_MQTT_BROKER_PORT 8883 MQTT broker port.
SUPLA_MQTT_BROKER_TLS true Whether to use TLS encryption for MQTT broker. Use true or false.
SUPLA_MQTT_BROKER_USERNAME "" (empty) MQTT broker username.
SUPLA_MQTT_BROKER_PASSWORD "" (empty) MQTT broker password.
SUPLA_MQTT_BROKER_INTEGRATED_AUTH false Whether to use integrated authentication for MQTT broker. Use true or false.
SUPLA_MQTT_BROKER_CLIENT_ID "" (empty) MQTT broker client ID.
SUPLA_PROTOCOL https Protocol that should be used for web application and API. Must be http or https.
SUPLA_REQUIRE_COOKIE_POLICY_ACCEPTANCE true Whether to require cookie policy acceptance. Use true or false.
SUPLA_REQUIRE_REGULATIONS_ACCEPTANCE true Whether to require regulations acceptance. Use true or false.
DATABASE_TSDB_URL "" (empty) Database connection string for TimescaleDB, if used.
DATABASE_FOR_LOGS mariadb Which connection to use for storing logs. Use either mariadb (default) or tsdb.

Clone this wiki locally