Environment variables
Environment variables are the primary container configuration surface. run.py loads a local .env file when python-dotenv is available; Docker Compose supplies variables through env_file and environment. Values shown as <placeholder> are intentionally not real credentials.
General
| Variable | Default | Description |
DB_TYPE | influxdb_v1 | influxdb_v1, influxdb_v2, or questdb. |
LOG_LEVEL | INFO | DEBUG, INFO, WARNING, or ERROR. |
TZ | Europe/Berlin | Container and log timezone. |
FRITZ!Box
| Variable | Default | Description |
FRITZBOX_HOSTNAME | 192.168.178.1 | IP address, hostname, or reachable endpoint host. |
FRITZBOX_USERNAME | — | FRITZ!Box login user. |
FRITZBOX_PASSWORD | — | FRITZ!Box login password. |
FRITZBOX_PORT | 49000 | TR-064 port. |
FRITZBOX_TLS_ENABLED | auto | Enable or disable HTTPS explicitly. |
FRITZBOX_VERIFY_TLS | true | Verify the FRITZ!Box certificate. |
FRITZBOX_CONNECT_TIMEOUT | 10 | Connection timeout in seconds. |
FRITZBOX_REQUEST_INTERVAL | 10 | Minimum per-service request interval in seconds; it can only increase built-in intervals. |
FRITZBOX_BOX_TAG | fritz.box | Tag used to identify the box. |
FRITZBOX_TIMEZONE | Europe/Berlin | Fallback timezone for FRITZ!Box log timestamps. |
InfluxDB
Used for DB_TYPE=influxdb_v1 or DB_TYPE=influxdb_v2.
| Variable | Default | Description |
INFLUXDB_HOSTNAME | — | Host or full http(s):// URL. |
INFLUXDB_PORT | 8086 | HTTP(S) port; 443 implies TLS. |
INFLUXDB_TLS_ENABLED | false | Use HTTPS. A full HTTPS URL also enables it. |
INFLUXDB_VERIFY_TLS | true | Verify the server certificate. |
INFLUXDB_ALLOW_PLAINTEXT_CREDENTIALS | false | Permit credentials over HTTP to a non-local host. Prefer TLS. |
INFLUXDB_MEASUREMENT_NAME | fritzbox | Base measurement name; a serial-specific name normally replaces it. |
INFLUXDB_DATABASE | — | InfluxDB v1 database. |
INFLUXDB_USERNAME / INFLUXDB_PASSWORD | — | Optional paired v1 credentials. |
INFLUXDB_ORGANIZATION | — | InfluxDB v2 organization. |
INFLUXDB_BUCKET | — | InfluxDB v2 bucket. |
INFLUXDB_TOKEN | — | InfluxDB v2 token. |
QuestDB
Used for DB_TYPE=questdb. QuestDB settings are mapped to the equivalent writer internally.
| Variable | Default | Description |
QUESTDB_HOSTNAME | — | Host or full http(s):// URL. |
QUESTDB_PORT | 9000 | Influx Line Protocol over HTTP port. |
QUESTDB_TLS_ENABLED | false | Use HTTPS. |
QUESTDB_VERIFY_TLS | true | Verify the server certificate. |
QUESTDB_ALLOW_PLAINTEXT_CREDENTIALS | false | Permit credentials over HTTP to a non-local host. |
QUESTDB_MEASUREMENT_NAME | fritzbox | Base table name; a serial-specific name normally replaces it. |
QUESTDB_DATA_RETENTION_DAYS | 365 | Initial TTL for a table without a TTL; 0 disables automatic TTL. |
QUESTDB_DOWNSAMPLING | empty | Optional profile: low, medium, or high. |
QUESTDB_USERNAME / QUESTDB_PASSWORD | — | Optional basic authentication. |
QUESTDB_TOKEN | — | Optional bearer token authentication. |
Security rules
The application refuses to send non-local credentials over plain HTTP unless the matching *_ALLOW_PLAINTEXT_CREDENTIALS=true switch is set. Keep that override limited to a trusted private network. The application masks credentials in logs and disables verbose HTTP debugging that could expose tokens.
Optional metrics
| Variable | Default | Description |
FRITZFLUXDB_INCLUDE_VPN_ADDRESS_METRICS | unset | Include VPN address metrics when set to a non-empty value. |