Sign inSign up

giiibates/fritzfluxdb

By giiibates

•Updated 5 days ago

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

Image
Networking
Monitoring & observability
0

5.7K

giiibates/fritzfluxdb repository overview

fritzFluxDB Logo

⁠fritzFluxDB

Lightweight daemon that collects metrics from your FRITZ!Box and pushes them into InfluxDB or QuestDB.

Version Docker Pulls License: MIT Multi-arch: amd64, arm64

Full documentation


⁠Features

  • Prefers QuestDB, the author's recommended storage backend; InfluxDB v1 and v2 remain fully supported
  • Collects TR-064 & Lua service data from FritzBox
  • Supports InfluxDB v1, InfluxDB v2 and QuestDB, with optional server-side downsampling on 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

The recommended setup uses QuestDB. Create a .env file:

FRITZBOX_HOSTNAME=192.168.178.1
FRITZBOX_USERNAME=admin
FRITZBOX_PASSWORD=your-password

Create docker-compose.yml:

services:
  questdb:
    image: questdb/questdb:latest
    container_name: questdb
    restart: unless-stopped
    ports:
      - "9000:9000"
      - "9003:9003"
    volumes:
      - questdb_data:/var/lib/questdb
    environment:
      - QDB_TELEMETRY_ENABLED=false

  fritzfluxdb:
    image: giiibates/fritzfluxdb:latest
    container_name: fritzfluxdb
    restart: unless-stopped
    depends_on:
      - questdb
    env_file:
      - ./.env
    environment:
      TZ: Europe/Berlin
      LOG_LEVEL: INFO
      DB_TYPE: questdb
      QUESTDB_HOSTNAME: questdb
      QUESTDB_PORT: 9000
      QUESTDB_ALLOW_PLAINTEXT_CREDENTIALS: "true"

volumes:
  questdb_data:

Start it:

docker compose up -d

This starts QuestDB and fritzfluxdb on the same Compose network. To use InfluxDB instead, omit the questdb service and set DB_TYPE=influxdb_v2 (or influxdb_v1) plus the INFLUXDB_* settings for an existing, reachable InfluxDB server. Plain HTTP credentials are rejected by default; enable INFLUXDB_ALLOW_PLAINTEXT_CREDENTIALS only on a trusted network, or set INFLUXDB_TLS_ENABLED=true when the endpoint supports HTTPS.

For InfluxDB setup, the full environment variable reference, and downsampling profiles, see Installation⁠ and Environment variables⁠ in the documentation.

⁠Grafana Dashboards

Example dashboards for every backend ship in the repository⁠ — system, call log, router log, and home automation. See Grafana dashboards⁠ for the import workflow.


This project is not affiliated with or endorsed by FRITZ.com GmbH, Alt-Moabit 95, 10559 Berlin. FRITZ!Box is a registered trademark of FRITZ.com GmbH.

Buy Me A Coffee ⁠

Tag summary

Content type

Image

Digest

sha256:0dd6481c1…

Size

48.8 MB

Last updated

5 days ago

docker pull giiibates/fritzfluxdb