Skip to content

Commit 4d3d2ee

Browse files
itsDNNSclaude
andcommitted
Polish README for public release
- Quick Start: docker run as primary, docker compose as alternative - Generalize FritzBox references to Modem in descriptions - Add ADMIN_PASSWORD to env var table - Add auth and light/dark mode to features list - Fix Reference Values column header (Bad -> Poor) - Add Contributing and License links - Remove hardcoded auto-refresh interval Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 459f24c commit 4d3d2ee

File tree

1 file changed

+40
-37
lines changed

1 file changed

+40
-37
lines changed

README.md

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,57 +12,76 @@
1212

1313
## Features
1414

15-
- **Per-Channel Sensors**: Every downstream/upstream DOCSIS channel becomes its own Home Assistant sensor with full attributes (frequency, modulation, SNR, errors, DOCSIS version)
15+
- **Web Dashboard**: Real-time channel data with health assessment, trend charts, and calendar navigation
16+
- **Per-Channel Sensors**: Every downstream/upstream DOCSIS channel becomes its own Home Assistant sensor with full attributes
1617
- **Summary Sensors**: Aggregated metrics (power min/max/avg, SNR, error counts, overall health)
17-
- **Health Assessment**: Automatic traffic-light evaluation based on industry-standard thresholds
18-
- **Web UI**: Built-in dashboard on port 8765 with timeline navigation and light/dark mode
18+
- **Health Assessment**: Automatic traffic-light evaluation with actionable recommendations
1919
- **Setup Wizard**: Browser-based configuration - no .env file needed
2020
- **Settings Page**: Change all settings at runtime, test connections, toggle themes
2121
- **Internationalization**: English and German UI
22-
- **LLM Export**: Generate structured reports for AI analysis
22+
- **LLM Export**: Generate structured reports for AI analysis (ChatGPT, Claude, Gemini, etc.)
2323
- **MQTT Auto-Discovery**: Zero-config integration with Home Assistant
24+
- **Optional Authentication**: Password-protected web UI with scrypt hashing
25+
- **Light/Dark Mode**: Persistent theme toggle
2426

2527
## Quick Start
2628

29+
```bash
30+
docker run -d --name docsight -p 8765:8765 -v docsight_data:/data ghcr.io/itsdnns/docsight:latest
31+
```
32+
33+
Open `http://localhost:8765` - the setup wizard guides you through configuration.
34+
35+
### Using Docker Compose
36+
2737
```bash
2838
git clone https://github.com/itsDNNS/docsight.git
2939
cd docsight
3040
docker compose up -d
3141
```
3242

33-
Open `http://localhost:8765` - the setup wizard guides you through configuration.
34-
3543
## Configuration
3644

37-
Configuration is stored in `config.json` inside the Docker volume and persists across restarts. You can also use environment variables (they override config.json values).
45+
Configuration is stored in `config.json` inside the Docker volume and persists across restarts. Environment variables override config.json values.
3846

3947
### Via Web UI (recommended)
4048

4149
1. Start the container - the setup wizard opens automatically
42-
2. Enter FritzBox URL, username, and password - test the connection
43-
3. Optionally enter MQTT broker details - test the connection
44-
4. Set poll interval and history retention
50+
2. Enter your modem URL, username, and password - test the connection
51+
3. Optionally configure MQTT broker for Home Assistant integration
52+
4. Set poll interval, history retention, and language
4553
5. Done - monitoring starts immediately
4654

47-
Access `/settings` at any time to change configuration or toggle light/dark mode.
55+
Access `/settings` at any time to change configuration, set an admin password, or toggle light/dark mode.
4856

4957
### Via Environment Variables (optional)
5058

5159
Copy `.env.example` to `.env` and edit:
5260

5361
| Variable | Default | Description |
5462
|---|---|---|
55-
| `FRITZ_URL` | `http://192.168.178.1` | FritzBox URL |
56-
| `FRITZ_USER` | - | FritzBox username |
57-
| `FRITZ_PASSWORD` | - | FritzBox password |
58-
| `MQTT_HOST` | `localhost` | MQTT broker host |
63+
| `FRITZ_URL` | `http://192.168.178.1` | Modem URL |
64+
| `FRITZ_USER` | - | Modem username |
65+
| `FRITZ_PASSWORD` | - | Modem password |
66+
| `MQTT_HOST` | - | MQTT broker host (optional) |
5967
| `MQTT_PORT` | `1883` | MQTT broker port |
6068
| `MQTT_USER` | - | MQTT username (optional) |
6169
| `MQTT_PASSWORD` | - | MQTT password (optional) |
6270
| `MQTT_TOPIC_PREFIX` | `docsight` | MQTT topic prefix |
6371
| `POLL_INTERVAL` | `300` | Polling interval in seconds |
6472
| `WEB_PORT` | `8765` | Web UI port |
6573
| `HISTORY_DAYS` | `7` | Snapshot retention in days |
74+
| `ADMIN_PASSWORD` | - | Web UI password (optional) |
75+
76+
## Screenshots
77+
78+
| Dashboard (Dark) | Dashboard (Light) | Setup Wizard |
79+
|---|---|---|
80+
| ![Dark](docs/screenshots/dashboard-dark.png) | ![Light](docs/screenshots/dashboard-light.png) | ![Setup](docs/screenshots/setup.png) |
81+
82+
| Trend Charts | Health Banner |
83+
|---|---|
84+
| ![Trends](docs/screenshots/trends.png) | ![Health](docs/screenshots/health-banner.png) |
6685

6786
## Created Sensors
6887

@@ -87,37 +106,21 @@ Copy `.env.example` to `.env` and edit:
87106

88107
## Reference Values
89108

90-
| Metric | Good | Marginal | Bad |
109+
| Metric | Good | Marginal | Poor |
91110
|---|---|---|---|
92111
| DS Power | -7..+7 dBmV | +/-7..+/-10 | > +/-10 dBmV |
93112
| US Power | 35..49 dBmV | 50..54 | > 54 dBmV |
94113
| SNR / MER | > 30 dB | 25..30 | < 25 dB |
95114

96-
## Screenshots
97-
98-
| Dashboard (Dark) | Dashboard (Light) | Setup Wizard |
99-
|---|---|---|
100-
| ![Dark](docs/screenshots/dashboard-dark.png) | ![Light](docs/screenshots/dashboard-light.png) | ![Setup](docs/screenshots/setup.png) |
101-
102-
| Trend Charts | Health Banner |
103-
|---|---|
104-
| ![Trends](docs/screenshots/trends.png) | ![Health](docs/screenshots/health-banner.png) |
105-
106-
## Web UI
107-
108-
Access at `http://<host>:8765`. Auto-refreshes every 60 seconds. Shows:
109-
- Health status with actionable recommendations
110-
- Summary metrics and tariff info
111-
- Full downstream/upstream channel tables with per-row health indicators
112-
- Trend charts (day/week/month)
113-
- Calendar navigation for historical snapshots
114-
- LLM export for AI-powered analysis
115-
116115
## Requirements
117116

118117
- AVM FRITZ!Box Cable router (tested with 6690 Cable)
119118
- MQTT broker (e.g., Mosquitto) - optional, for Home Assistant integration
120119

120+
## Contributing
121+
122+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
123+
121124
## License
122125

123-
MIT
126+
[MIT](LICENSE)

0 commit comments

Comments
 (0)