Skip to content

Configuration

The server is configured through environment variables prefixed with AQUAS_. Levels are separated by a double underscore: AQUAS_MQTT__PASSWORD sets password in the mqtt group. In a Docker install, put them in the .env file.

Variable Default Role
AQUAS_PUBLIC_URL http://localhost:8080 Address you open the interface at
AQUAS_HTTP_PORT 8080 Interface HTTP port (Docker)
AQUAS_TIMEZONE Europe/Paris Install time zone: used for what’s due “today” and for reminders (dates are stored in universal time)
AQUAS_TASK_REMINDER_HOUR 8 Local time of the daily task reminder
AQUAS_LOG_LEVEL INFO Log level
AQUAS_SECRET_KEY generated Session signing key
Variable Default Role
AQUAS_DEFAULT_ADMIN_USERNAME admin Username created on first start
AQUAS_DEFAULT_ADMIN_PASSWORD ChangeMe123! Initial password, to change on first sign-in
Variable Default Role
AQUAS_AUTH__COOKIE_SECURE true true if the interface is served over HTTPS, false for plain HTTP
AQUAS_AUTH__COOKIE_SAMESITE none SameSite policy of the session cookie (lax in Docker)
Variable Default Role
AQUAS_MQTT__HOST localhost Broker address as seen by the server
AQUAS_MQTT__PORT 1883 Broker port
AQUAS_MQTT__USER user MQTT account (server and controllers)
AQUAS_MQTT__PASSWORD — MQTT password, required
AQUAS_MQTT__DEVICE_HOST = HOST Broker address as seen by the ESP32s, if different
AQUAS_MQTT__TOPIC_PREFIX aquarium Root of the MQTT topics, to share a broker between installs

These values are written into the ESP32 firmware.

Variable Default Role
AQUAS_ESP__SSID — Wi-Fi network name
AQUAS_ESP__PASSWORD — Wi-Fi password
AQUAS_NETWORK__GATEWAY 192.168.1.254 Gateway
AQUAS_NETWORK__SUBNET 255.255.255.0 Subnet mask
AQUAS_NETWORK__DNS1 192.168.1.254 DNS server
AQUAS_NETWORK__START / __END 192.168.1.50 / .99 Range of fixed IPs assigned to controllers

The assistant is set up in the interface, Settings › AI assistant (Configuration › Assistant IA): see AI assistant. It no longer has any environment variable.

Variable Default Role
AQUAS_PUSH__ENABLED true Turns push notifications on
AQUAS_PUSH__CONTACT mailto:admin@example.org Contact required by push services, set your own address
AQUAS_PUSH__VAPID_PRIVATE_KEY generated VAPID key, generated and kept if missing

Telegram and ntfy are configured from the interface: see Alerts.

Variable Default Role
AQUAS_SENSOR_READING_RETENTION_DAYS 365 Sensor history (0 = unlimited)
AQUAS_ALERT_RETENTION_DAYS 90 Resolved alerts
AQUAS_ACTIVATION_RETENTION_DAYS 90 Equipment start log
AQUAS_AUDIT_RETENTION_DAYS 365 Activity log
AQUAS_LOG_DAY_RETENTION 30 Technical logs
AQUAS_BACKUP_RETENTION_DAYS 5 “Before restore” backups kept (automatic ones: number set in the app)

Everything else is set in Settings › Backup (Configuration › Sauvegarde): see Backups.

Variable Default Role
AQUAS_BACKUP_AUTO_DEFAULT false Automatic backup enabled until it’s configured in the app
AQUAS_BACKUP_EXTERNAL_PATH empty External folder offered by default (share mounted in the container, e.g. /backups-nfs)
Variable Default Purpose
AQUAS_HUB_URL https://hub.aquasmanager.fr Publisher service: shared catalogue sync, species and idea suggestions, group orders. none: disabled
AQUAS_CATALOG_SYNC_HOURS 6 Shared catalogue sync interval, in hours

Suggestions are sent from the browser, with no credentials or data from your installation; only the suggested entry and the optional message are sent.

Variable Default Role
AQUAS_GO2RTC_URL empty Address of the go2rtc video service API (e.g. http://go2rtc:1984). Empty: cameras disabled