Your ISP says everything is fine. DOCSight gives you the proof that it isn't.
DOCSight continuously monitors your connection, catches the issues your ISP misses in one-off snapshots, and builds a timestamped evidence trail you can use — from live diagnostics and trend charts to incident reports and complaint-ready exports.
Available in 🇬🇧 🇩🇪 🇪🇸 🇫🇷
No router required. Demo mode generates 9 months of realistic DOCSIS data so you can explore everything immediately.
docker run -d --name docsight-demo -p 8765:8765 -e DEMO_MODE=true ghcr.io/itsdnns/docsight:latestdocker run -d --name docsight -p 8765:8765 -v docsight_data:/data ghcr.io/itsdnns/docsight:latestOpen http://localhost:8765, then either explore the demo or connect your router in the setup wizard.
Full installation guide | Example Compose Stacks
Most connection problems aren't one-time events. They come and go, making them nearly impossible to prove when you call your ISP.
DOCSight runs in the background and builds your case over time:
- Hour 1 — You see your current signal health and any active issues
- Week 1 — Trend charts reveal patterns your ISP can't see from a single snapshot
- Month 1 — The event log, incident journal, and correlation analysis paint a complete picture
- When you call your ISP — DOCSight turns weeks of evidence into reports, exports, and complaint-ready documentation
The longer DOCSight runs, the stronger your evidence gets.
|
Monitor Continuously captures signal health, latency, outages, and speed so transient problems don't disappear before you can prove them. |
Document Builds a timestamped evidence trail with trend charts, anomaly history, incident logs, and before/after comparisons. |
Act Turns raw diagnostics into reports and complaint-ready exports you can send to your ISP. |
| ✅ You have cable internet (coax/DOCSIS) | DOCSight is built for this — full signal monitoring |
| ✅ You have fiber, DSL, or satellite | Generic Router mode still gives you speed tracking, latency monitoring, incident logging, evidence reports, and modules |
| ✅ Your internet drops out or is slower than what you're paying for | DOCSight documents it over time |
| ✅ Your ISP says "everything is fine on our end" | DOCSight gives you the data to push back with confidence |
| 🏠 Runs 100% locally | Your monitoring stays on your own hardware |
| 🔒 Nothing leaves your network | Signal history, incident timelines, and reports are never uploaded to a cloud service |
| 📖 Open source | All code is public and verifiable |
| 🔐 Credentials encrypted | Router login encrypted at rest (AES-128) |
DOCSight is built around an evidence-first workflow, then extended with deeper analysis and integrations.
| Feature | Why it matters |
|---|---|
| Live Dashboard | See current signal health, active issues, and actionable diagnostics at a glance |
| Signal Trends | Turn intermittent instability into visible long-term patterns |
| Connection Monitor | Track latency, packet loss, outages, and traceroute evidence continuously |
| Event Log | Automatically record anomalies like modulation drops and modem restarts |
| Incident Journal | Add your own notes, imports, attachments, and incident groupings |
| Before/After Comparison | Show whether a technician visit or ISP change actually improved anything |
| Correlation Analysis | Combine signal, speed, and event history in one timeline |
| Complaint Generator | Turn your evidence trail into ISP-ready letters and technical PDFs |
| Category | Includes |
|---|---|
| Network analysis | Gaming Quality Index, Modulation Performance, Channel Timeline, Cable Segment Utilization |
| External data sources | Speedtest Integration, Smart Capture, BNetzA Measurements, BQM Integration, Smokeping Integration |
| Platform features | Home Assistant, Backup & Restore, notifications, setup wizard, optional authentication, API tokens |
| Usability and extensibility | Demo Mode, Theme Engine, Community Modules, In-App Glossary, LLM Export |
Also includes 4 languages (EN/DE/FR/ES), light/dark mode, PWA/offline support, and a system font toggle.
A few highlights from the interface:
| Dashboard | Signal Trends |
|---|---|
![]() |
![]() |
| Incident Journal | Correlation Analysis |
|---|---|
![]() |
![]() |
See the extended screenshot gallery
| Dashboard (Light) | Health Assessment |
|---|---|
![]() |
![]() |
| Speedtest Tracker | Import (Excel/CSV) |
|---|---|
![]() |
![]() |
| Edit with Icon Picker | Channel Timeline |
|---|---|
![]() |
![]() |
| Event Log | Settings |
|---|---|
![]() |
![]() |
| Theme Gallery | BQM Integration |
|---|---|
![]() |
![]() |
DOCSight supports 16 modem families out of the box and also offers Generic Router mode for fiber, DSL, and satellite connections.
- Vodafone Station (CGA4233, TG3442DE) — bridge mode compatible
- AVM FRITZ!Box Cable (6490, 6590, 6591, 6660, 6690)
- Vodafone Ultra Hub 7 (Sercomm)
- Unitymedia Connect Box (CH7465)
- Sagemcom F@st 3896 — JSON-RPC API
- Technicolor TC4400
- Arris SURFboard (S33, S34, SB8200) — HNAP1 API
- Hitron CODA-56
- Netgear CM3000
- Generic Router mode — no DOCSIS signal pages, but still supports speed tracking, latency monitoring, incident logging, reports, and modules
See the full compatibility and setup docs in the wiki →
DOCSight works with DOCSIS cable providers worldwide. Community drivers and extensions live in docsight-modules, and you can also add your own modem support.
Currently focused on the German cable market for complaint templates, BNetzA measurements, and VFKD thresholds. The core monitoring stack is usable beyond Germany, and community contributions for other markets are welcome.
DOCSight uses a modular collector-based architecture for reliable data gathering from multiple sources:
flowchart TD
subgraph CR["Collector Registry"]
MC["Modem Collector"]
DC["Demo Collector"]
SC["Speedtest Collector"]
BC["BQM Collector"]
SP["Smokeping Proxy"]
BN["BNetzA Watcher"]
BK["Backup Collector"]
end
MC --> BASE
DC --> BASE
SC --> BASE
BC --> BASE
SP --> BASE
BN --> BASE
BK --> BASE
BASE["Base Collector (Fail Safe)<br/>Exponential backoff<br/>Auto reset after idle<br/>Health status monitoring"]
BASE --> EVT["Event Detector<br/>Anomaly detection and alerting"]
EVT --> STORE["SQLite Storage + MQTT<br/>Snapshots, trends, Home Assistant"]
STORE --> UI["Web UI (Flask)<br/>Dashboard, charts, reports"]
Architecture layers:
Collectors: modem, demo, speedtest, BQM, Smokeping, BNetzA, and backup inputsBase Collector: shared fail-safe behavior like backoff, reset, and health handlingEvent Detector: turns raw state changes into anomaly and alert eventsStorage + MQTT: persists snapshots and exposes data to Home AssistantWeb UI: presents dashboards, trends, reports, and complaint workflows
See ARCHITECTURE.md for detailed technical documentation.
- Docker (or any OCI-compatible container runtime) — or see Running without Docker for a native Python setup
- A supported DOCSIS cable modem/router (see above), or any router via Generic Router mode
- MQTT broker (optional, for Home Assistant)
See CONTRIBUTING.md. Please open an issue before working on new features.
See the full roadmap in the wiki for long-term goals and modem support plans.
See GitHub Releases.
If DOCSight helped you prove an issue, understand your connection better, or save time with your ISP, consider supporting development:
DOCSight is actively maintained and tested against real hardware. Support helps fund development time, hardware access, documentation, testing, and long-term maintenance.
The code is MIT-licensed, but the DOCSight name, logo, and project branding are governed separately. Community forks and commercial services may say they are "based on DOCSight" or "compatible with DOCSight", but must not present themselves as the official project without permission.
See TRADEMARKS.md for the full brand and trademark policy.
| Document | Scope |
|---|---|
| Wiki | User guides, feature docs, setup instructions |
| ARCHITECTURE.md | Technical architecture and extension guide |
| CONTRIBUTING.md | Development and contribution guidelines |
| TRADEMARKS.md | Brand, logo, and official-use policy |
DOCSight = DOCSIS + Insight (+ a quiet sigh from every cable internet user)













