Skip to content

Commit 958b137

Browse files
committed
Remove Agent Features
1 parent 5953ee5 commit 958b137

12 files changed

Lines changed: 38 additions & 775 deletions

File tree

README.md

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -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

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0
1+
1.1.0

docker-compose.agent.example.yml

Lines changed: 0 additions & 140 deletions
This file was deleted.

example.apps.yaml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,6 @@
1616
# Useful for devices that may wake up (e.g. NAS) or services
1717
# you don't want to monitor
1818
#
19-
# Agent Configuration:
20-
# -------------------
21-
# You can configure remote agents to monitor system stats (CPU, RAM, Temp) from
22-
# multiple servers. Each agent should be running HomeDash in agent mode.
23-
#
24-
# To run HomeDash in agent mode on a remote server:
25-
# HOMEDASH_AGENT_MODE=true ./homedash
26-
#
27-
# Then add the agent to this config:
28-
#
29-
# agents:
30-
# - name: Server 1
31-
# url: http://192.168.1.10:8080
32-
# - name: Server 2
33-
# url: http://192.168.1.20:8080
34-
#
3519
# Available Icons:
3620
# ----------------
3721
# film - Movie/video icon (for Plex, Jellyfin, Radarr, etc.)
@@ -252,15 +236,3 @@ apps:
252236
# url: http://192.168.1.100:8080
253237
#
254238
# This will use defaults: category="Uncategorized", icon="box", check_type="http"
255-
256-
# ===================
257-
# AGENTS (OPTIONAL)
258-
# ===================
259-
# Monitor system stats from multiple servers running HomeDash in agent mode
260-
#
261-
# agents:
262-
# - name: Git Host
263-
# url: http://192.168.1.100:8080
264-
# - name: Docker Host
265-
# url: http://192.168.1.200:8080
266-

0 commit comments

Comments
 (0)