giiibates/fritzfluxdb

By giiibates

Updated 27 days ago

Leightweight FritzBox metrics collector (TR-064 & Lua) and writes them to InfluxDB/QuestDB

Image
Networking
Monitoring & observability
0

2.1K

giiibates/fritzfluxdb repository overview

fritzFluxDB Logo

fritzFluxDB

Lightweight daemon that collects metrics from your AVM FritzBox and pushes them into InfluxDB or QuestDB.

GitHub Docker Pulls License: MIT


Features

  • Collects TR-064 & Lua service data from FritzBox
  • Supports InfluxDB v1, InfluxDB v2 and QuestDB
  • Home automation, call logs, VPN, network hosts, system stats
  • Multi-arch image (amd64 / arm64)
  • Runs as non-root with Tini as PID 1
  • Graceful shutdown with measurement buffer flush

Quick Start

1. .env file
FRITZBOX_HOSTNAME=192.168.178.1
FRITZBOX_USERNAME=admin
FRITZBOX_PASSWORD=your-password

DB_TYPE=influxdb_v2
INFLUXDB_HOSTNAME=influxdb
INFLUXDB_PORT=8086
INFLUXDB_ORGANIZATION=my-org
INFLUXDB_BUCKET=fritzflux
INFLUXDB_TOKEN=your-token
# allow sending the token over plain HTTP inside your trusted home network
INFLUXDB_ALLOW_PLAINTEXT_CREDENTIALS=true

For QuestDB use instead:

DB_TYPE=questdb
QUESTDB_HOSTNAME=questdb
QUESTDB_PORT=9000
2. docker-compose.yml
services:
  fritzfluxdb:
    image: giiibates/fritzfluxdb:latest
    container_name: fritzfluxdb
    restart: unless-stopped
    env_file:
      - ./.env
    environment:
      TZ: Etc/UTC
      LOG_LEVEL: INFO
3. Start
docker compose up -d

Environment Variables

VariableDefaultDescription
FRITZBOX_HOSTNAME192.168.178.1FritzBox IP or hostname
FRITZBOX_USERNAMEFritzBox login user
FRITZBOX_PASSWORDFritzBox login password
DB_TYPEinfluxdb_v2Database backend: influxdb_v1, influxdb_v2 or questdb
INFLUXDB_HOSTNAMEInfluxDB host (or full URL, e.g. https://influx.example.com)
INFLUXDB_PORT8086InfluxDB port (443 enables TLS automatically)
INFLUXDB_ORGANIZATIONInfluxDB v2 organization
INFLUXDB_BUCKETfritzfluxInfluxDB bucket / database
INFLUXDB_TOKENInfluxDB v2 auth token
INFLUXDB_TLS_ENABLEDfalseEnable TLS for InfluxDB connection
INFLUXDB_ALLOW_PLAINTEXT_CREDENTIALSfalseAllow credentials/token over plain HTTP (trusted networks only)
QUESTDB_HOSTNAMEQuestDB host (or full URL); QUESTDB_* mirrors the INFLUXDB_* options
QUESTDB_PORT9000QuestDB ILP/HTTP port
LOG_LEVELINFOLog level (DEBUG, INFO, WARNING, ERROR)
TZEtc/UTCContainer timezone
WATCHDOG_RESTART_DELAY10Initial reconnect delay in seconds
WATCHDOG_MAX_RESTART_DELAY300Maximum reconnect delay in seconds

Grafana Dashboards

Pre-built dashboards are available in the GitHub repository:

  • System Dashboard — CPU, memory, uptime, temperatures, traffic
  • Call Log Dashboard — Incoming/outgoing calls
  • Logs Dashboard — FritzBox system logs
  • Home Automation Dashboard — Smart home device metrics (InfluxDB v2 only)


This project is not affiliated with or endorsed by AVM GmbH. FRITZ!Box is a registered trademark of AVM GmbH.

Tag summary

Content type

Image

Digest

sha256:2f41f357d

Size

43.9 MB

Last updated

27 days ago

docker pull giiibates/fritzfluxdb:testing