Home
Softono
docsight

docsight

Open source MIT Python
248
Stars
18
Forks
1
Issues
2
Watchers
1 week
Last Commit

About docsight

Self-hosted DOCSIS evidence system for proving cable signal problems and bad ISP performance. Tracks incidents, signal health, and complaint-ready exports.

Platforms

Web Self-hosted Docker

Languages

Python

DOCSight

DOCSight

Product page  •   Get Started  •   Supported Hardware  •   Wiki  •   Data contract  •   Releases  •   Roadmap

License Version Stars Image Size Featured in selfh.st Weekly

Your ISP says everything is fine. DOCSight shows the timeline.

Track signal issues, slowdowns, packet loss, and modem events locally so bad evenings do not disappear into "looks fine from here".

Self-hostedLocal dataDemoReports17 modem familiesMIT

DOCSight product dashboard with signal health, speed, latency and connection cards

Synthetic demo data in the real product UI: signal health, speed, latency, and connection context in one dashboard.


Get Started

Start with the fastest path for your setup.

Option 1: Try the demo

No router required. Demo mode generates 9 months of realistic DOCSIS data so you can explore the workflow immediately.

docker run -d --name docsight-demo -p 8765:8765 -e DEMO_MODE=true ghcr.io/itsdnns/docsight:latest

Option 2: Connect your own modem or router

docker run -d --name docsight -p 8765:8765 -v docsight_data:/data ghcr.io/itsdnns/docsight:latest

Open http://localhost:8765, then choose Demo Mode, a supported DOCSIS modem, or Generic Router mode in the setup wizard.

Full installation guide | Example Compose Stacks


Why DOCSight exists

The line looks normal when support checks.

The bad evenings happen later. A speedtest screenshot shows the symptom, and a modem screenshot shows one moment. DOCSight keeps the timeline: signal history, speed tests, latency, modem events, incident notes, and report output in one local evidence trail.

DOCSight is for the support loop where you know something is wrong, but the problem disappears before anyone else looks.


Evidence journey

A few key views from the workflow:

See what is happening now Find the pattern
DOCSight dashboard with current signal health, speed, and active issue cards DOCSight signal trends showing long-term signal patterns
Current signal health, speed, latency, and active issues sit in one view. Bad evenings stop looking random when the history is visible.
Connect the signals Bring something useful to support
DOCSight correlation view lining up signal, speed, and event history DOCSight evidence package workflow for local report generation
Signal drops, packet loss, speed dips, modem events, and notes line up in one timeline. Turn the timeline into a report, checklist, and support-ready evidence package.

Public proof pack

Use the demo-safe proof pack to understand the output before connecting real hardware.

DOCSight bad evening evidence timeline

The screenshot and sample report use synthetic data only. They show a bad evening case without exposing a real ISP, customer, IP address, MAC address, serial number, or ticket.


What DOCSight connects

The value is not another chart. The value is putting the pieces of the cable problem in the same place.

  • DOCSIS signal: power, SNR, channels, and modulation
  • Speed tests: download, upload, ping, and jitter history
  • Latency: packet loss, outages, and route checks
  • Modem events: restarts, drops, and signal anomalies
  • Alerts: severity-filtered notifications through direct webhooks, Discord, optional PWA Web Push, or an optional Apprise sidecar
  • Incident notes: what you saw, when it happened, and what changed
  • Before/after: compare technician visits or ISP changes
  • Reports: PDF output and complaint-ready text
  • Local storage: evidence stays on your own hardware

How DOCSight compares

DOCSight works well alongside existing monitoring tools. The difference is the evidence workflow.

Tool type Good at Where DOCSight adds value
Uptime monitors like Uptime Kuma Reachability, status pages, alerts Cable signal history, modem events, incident notes, and report output
Speedtest history tools Download and upload trend tracking Showing whether speed dips line up with signal, latency, packet loss, or events
SmokePing and BQM Latency and packet-loss visibility Adding the local DOCSIS view and turning the timeline into an evidence package
Prometheus or Grafana scrapers Custom metrics for existing monitoring stacks A ready-made workflow for people who do not want to build dashboards before calling the ISP
Modem screenshots One moment in time A searchable timeline with before/after comparison and exports

Short version: a speedtest shows the symptom. DOCSight helps build the case.


Fit and boundaries

DOCSight is not a generic uptime monitor and not just a speedtest dashboard. It is the missing evidence layer for cable problems: DOCSIS signal history, modem events, speed and latency data, incident notes, before/after comparisons, and ISP-ready exports in one local timeline.

DOCSight is a strong fit if:

  • your cable internet drops, slows down, or becomes unstable at random times
  • your ISP says the line looks normal when you call
  • speedtest screenshots are not enough
  • you want modem signal values, speed tests, latency, events, and notes in one place
  • you want local data and exportable evidence instead of another cloud dashboard

It is probably not the right tool if:

  • you only need a public status page
  • you only need HTTP uptime alerts
  • you do not have cable internet and do not care about local signal diagnostics
  • you want a managed cloud service
  • you need a promised legal or ISP outcome

Generic Router mode still works for fiber, DSL, satellite, and other routers, but DOCSight is strongest when it can see DOCSIS cable signal data.


Start in the way that fits you


Connection Types and Use Cases

✅ You have cable internet (coax/DOCSIS) DOCSight is built for this, with 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

Your Data Stays With You

🏠 Runs 100% locally Your monitoring stays on your own hardware
🔒 No silent uploads Signal history, incident timelines, reports, logs, credentials, tokens, and installation IDs are not uploaded automatically
📖 Open source All code is public and verifiable
🔐 Credentials encrypted Router login encrypted at rest (AES-128)

For the detailed ownership and sharing boundary, see the Data contract. For supported versions, vulnerability reporting, and security boundaries, see the Security policy.

  • Optional integrations are user-configured: Speedtest, BQM, Smokeping, Home Assistant, MQTT, Apprise, Web Push, webhooks, module registries, and similar integrations use the destinations or sources you configure. See the data contract for integration-specific boundaries.
  • Exports and reports are generated locally and reviewed by you before sharing: PDF reports, complaint text, AI/LLM exports, CSV/JSON downloads, screenshots, and backups are local artifacts first.

Features

DOCSight is built around an evidence-first workflow, then extended with deeper analysis and integrations.

Core Evidence Workflow

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, traceroute evidence, and raw ping logs continuously
Event Log Automatically record anomalies like modulation drops and modem restarts
Incident Journal Add notes, attachments, reviewed imports, and incident groupings
Evidence Journey Check an incident or time window for available, stale, missing, optional, and not-applicable evidence before exporting
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 Build ISP-ready evidence packages with letter text, checklist, and PDF output

Analysis, Integrations, and Power Features

Category Includes
Network analysis Gaming Quality Index, Modulation Performance, Channel Timeline, Cable Segment Utilization
External data sources Guided setup for Speedtest Integration, BQM Integration, and Smokeping Integration, plus Smart Capture and BNetzA Measurements
Platform features Home Assistant, Notifications, Backup & Restore, setup wizard, optional authentication, API tokens
Usability and extensibility Demo Mode, Theme Engine, Community Modules, In-App Glossary, AI/LLM Export with local redaction controls

Also includes a 24-language European language pack (BG/CS/DA/DE/EL/EN/ES/ET/FI/FR/GA/HR/HU/IT/LT/LV/NB/NL/PL/PT/RO/SK/SL/SV), light/dark mode, PWA/offline support, and a system font toggle.


Extended screenshot gallery

More views from the product:

Dashboard Signal Trends
Dashboard Signal Trends
Incident Journal Complaint Workflow
Incident Journal Complaint Workflow
See the extended screenshot gallery
Dashboard (Light) Health Assessment
Light Health
Speedtest Tracker Import (Excel/CSV)
Speedtest Import
Edit with Icon Picker Channel Timeline
Edit Channel Timeline
Event Log Settings
Events Settings
Theme Gallery BQM Integration
Themes BQM

Supported Hardware

DOCSight supports 17 modem families out of the box and also offers Generic Router mode for fiber, DSL, and satellite connections.

Common setups

  • CGA4233 / TG3442DE cable gateways: bridge mode compatible
  • AVM FRITZ!Box Cable (6490, 6590, 6591, 6660, 6690)
  • Sercomm Ultra Hub 7 class gateways
  • CH7465 Connect Box family
  • Sagemcom F@st 3896: JSON-RPC API
  • Technicolor TC4400
  • Arris SURFboard (S33, S34, SB8200): HNAP1 API
  • Hitron CODA-56 and CODA-4680
  • 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.


Architecture

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 inputs
  • Base Collector: shared fail-safe behavior like backoff, reset, and health handling
  • Event Detector: turns raw state changes into anomaly and alert events
  • Storage + MQTT: persists snapshots and exposes data to Home Assistant
  • Web UI: presents dashboards, trends, reports, and complaint workflows

See ARCHITECTURE.md for detailed technical documentation.


Requirements

  • 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)

Community and Support

Use the right channel so questions, bug reports, modem requests, and real-world examples do not get mixed together.

Need Best place
Setup help and troubleshooting GitHub Discussions: Q&A
Feature ideas and roadmap feedback GitHub Discussions: Ideas
Share your setup, exports, or evidence workflow GitHub Discussions: Show and tell
Confirmed bugs and regressions Bug report issue form
Documentation gaps or stale screenshots Documentation improvement form
New modem support requests Modem support request form
Security vulnerabilities Private security advisory

For the full routing guide, see SUPPORT.md.

Contributing

See CONTRIBUTING.md. Please open an issue or start an Ideas discussion before working on new features.

Mobile viewport quality gate

DOCSight includes a focused Playwright gate for mobile regressions across the main blades and high-value modals. It uses an iPhone-sized 393x852 viewport and checks for horizontal overflow, off-screen controls, modal/footer overlap, console errors, and representative 44 px touch targets.

To run the same gate locally:

python -m pip install pytest-playwright==0.7.2 playwright==1.58.0
python -m playwright install chromium
TZ=UTC python -m pytest -q tests/e2e/test_mobile_quality_gate.py --tb=short

The test does not commit screenshot artifacts by default. Use the broader E2E suite when changing shared modal, navigation, chart, or journal behavior.

Roadmap

See the full roadmap in the wiki for long-term goals and modem support plans.

Changelog

See GitHub Releases.

Troubleshooting

For self-hosted setup checks, run the local doctor command from the same environment that runs DOCSight:

docker exec docsight python -m app.doctor
docker exec docsight python -m app.doctor --json > docsight-doctor.json

The command is passive by default. It checks runtime, config, storage, local secret-file state, database readability, and optional integration configuration without contacting the modem, DNS, MQTT, webhooks, Apprise, or other external services. Output is redacted by default for support threads.

Support

If DOCSight helped you prove an issue, understand your connection better, or save time with your ISP, consider supporting development:

GitHub Sponsors Ko-fi PayPal

DOCSight is actively maintained and tested against real hardware. Support helps fund development time, hardware access, documentation, testing, and long-term maintenance.

Brand Use

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.

Documentation

Document Scope
Wiki User guides, feature docs, setup instructions
Proof pack Demo-safe public screenshots, sample report, and claim-proof notes
Data contract Local data ownership, generated artifacts, export boundaries, diagnostics, backups, and redaction expectations
Apprise notification sidecar Optional alert fan-out through an Apprise API sidecar
PWA Web Push notifications Optional browser/app push alerts through the installed PWA
Community proof templates Public-safe templates for setup stories, modem reports, and ISP evidence outcomes
GitHub Releases Versioned builds and release notes
SUPPORT.md Support routing, community channels, and issue guidance
ARCHITECTURE.md Technical architecture and extension guide
CONTRIBUTING.md Development and contribution guidelines
TRADEMARKS.md Brand, logo, and official-use policy

License

MIT

DOCSight = DOCSIS + Insight (+ a quiet sigh from every cable internet user)