@@ -15,7 +15,6 @@ Minimal dependencies, single binary, easy configuration via YAML manifest.
1515- ** YAML manifest** - Define your apps in a simple ` apps.yaml ` file
1616- ** Auto-refresh** - Dashboard updates automatically when manifest changes
1717- ** Health monitoring** - HTTP and TCP health checks with configurable intervals
18- - ** Agent mode** - Monitor system stats from multiple servers
1918- ** System stats** - CPU, RAM, and temperature monitoring
2019- ** Dark/Light theme** - Toggle with localStorage persistence
2120- ** Command palette** - Quick launch apps with ` Cmd/Ctrl+K `
@@ -117,7 +116,6 @@ The image uses `scratch` (empty base) and is only ~10MB.
117116| ` HOMEDASH_SHOW_RAM ` | ` true ` | Show RAM usage stat |
118117| ` HOMEDASH_SHOW_TEMP ` | ` true ` | Show temperature stat |
119118| ` HOMEDASH_ALLOW_EDIT ` | ` true ` | Allow editing apps from the UI |
120- | ` HOMEDASH_AGENT_MODE ` | ` false ` | Run in agent mode (stats endpoint only) |
121119| ` HOMEDASH_TLS_CERT ` | - | Path to TLS certificate file |
122120| ` HOMEDASH_TLS_KEY ` | - | Path to TLS private key file |
123121| ` HOMEDASH_TLS_REDIRECT ` | - | Port for HTTP->HTTPS redirect |
@@ -170,12 +168,6 @@ apps:
170168 category : Smart Home
171169 icon : home
172170
173- # Optional: Monitor system stats from remote servers
174- agents :
175- - name : Git Host
176- url : http://192.168.1.100:8081
177- - name : Docker Host
178- url : http://192.168.1.200:8081
179171```
180172
181173#### App Fields
@@ -190,17 +182,6 @@ agents:
190182| ` check_type ` | No | ` http ` | ` http ` or ` tcp ` |
191183| ` skip_check ` | No | ` false ` | Skip health checks entirely |
192184
193- # ### Agent Fields
194-
195- For monitoring system stats from multiple servers, add an `agents` section :
196-
197- | Field | Required | Description |
198- |-------|----------|-------------|
199- | `name` | Yes | Display name for the agent |
200- | `url` | Yes | Full URL to the agent (e.g., `http://192.168.1.100:8081`) |
201-
202- Agents must be running HomeDash in agent mode. See [Agent Mode](#agent-mode) below.
203-
204185### Available Icons
205186
206187| Icon | Description |
@@ -277,83 +258,7 @@ The `/api/events` endpoint streams three event types:
277258- ` config` - Sent once on connect with UI configuration
278259- ` apps` - Sent when health check completes or manifest changes
279260- ` stats` - Sent every 2 seconds with system statistics
280- - ` agentstats` - Sent every 2 seconds with stats from monitored agents
281-
282- # # Agent Mode
283-
284- Agent mode allows you to monitor system stats (CPU, RAM, Temperature) from multiple servers in a single dashboard.
285-
286- # ## How It Works
287-
288- 1. **Main Dashboard Server** : Runs HomeDash normally with full UI
289- 2. **Agent Servers** : Run HomeDash in agent mode (lightweight, stats-only)
290- 3. **Configuration** : Add agents to your `apps.yaml`
291- 4. **Aggregation** : Main dashboard polls agents and displays their stats
292-
293- # ## Setting Up Agents
294-
295- # ### On Remote Servers (Agents)
296-
297- Run HomeDash in agent mode :
298-
299- ` ` ` bash
300- # Binary
301- HOMEDASH_AGENT_MODE=true HOMEDASH_PORT=8081 ./homedash
302-
303- # Docker
304- docker run -d \
305- -p 8081:8081 \
306- -e HOMEDASH_AGENT_MODE=true \
307- -e HOMEDASH_PORT=8081 \
308- ghcr.io/jlandersen/homedash:latest
309- ` ` `
310-
311- Agent mode :
312- - No UI served (only `/api/stats` endpoint)
313- - No health checks performed
314- - No manifest file required
315- - Minimal resource usage (~5-10MB RAM)
316- - Returns : ` {"cpu":"45","ram":"67","temp":"52"}`
317-
318- # ### On Main Dashboard Server
319261
320- Add agents to your `apps.yaml` :
321-
322- ` ` ` yaml
323- apps:
324- # Your regular apps...
325- - name: Plex
326- url: http://192.168.1.100:32400
327- category: Media
328- icon: film
329-
330- # Monitor stats from remote servers
331- agents:
332- - name: Git Host
333- url: http://192.168.1.100:8081
334- - name: Docker Host
335- url: http://192.168.1.200:8081
336- - name: NAS
337- url: http://192.168.1.50:8081
338- ` ` `
339-
340- The dashboard will :
341- - Poll each agent every 30 seconds
342- - Display stats in "Monitored Agents" section
343- - Show errors if agent is unreachable
344-
345- # ## Docker Compose Example
346-
347- See [docker-compose.agent.example.yml](docker-compose.agent.example.yml) for a complete multi-server setup example.
348-
349- # ## Verifying Agent Setup
350-
351- Test an agent endpoint :
352-
353- ` ` ` bash
354- curl http://192.168.1.100:8081/api/stats
355- # Expected output: {"cpu":"45","ram":"67","temp":"52"}
356- ` ` `
357262
358263# # Project Structure
359264
@@ -368,7 +273,6 @@ homedash/
368273│ ├── manifest/manifest.go # YAML parsing + file watcher
369274│ ├── health/checker.go # HTTP/TCP health checks
370275│ ├── stats/stats.go # System stats (CPU/RAM/Temp)
371- │ ├── agentstats/agentstats.go # Remote agent stats collector
372276│ └── api/handlers.go # HTTP handlers + SSE
373277└── web/
374278 ├── index.html # Dashboard HTML
0 commit comments