docs: update siklos container list and monitoring stack section for Beszel

This commit is contained in:
2026-06-18 15:28:38 +00:00
parent 8b2744e6f1
commit 520a38a4de
+27 -29
View File
@@ -3,12 +3,12 @@
## Host
- **VM112 / siklos / docker-server**
- IP: `192.168.88.27`
- Specs: 4c/12GB RAM (reduced from 16GB after photo services migrated to VM113)
- Specs: 4c/12GB RAM
- SSH: `jgitta@192.168.88.27` (via Proxmox host jump)
- Docker compose files: `/srv/docker/<service>/docker-compose.yml`
- Note: `vm.swappiness=10` set in `/etc/sysctl.conf` (April 2026)
## Running Containers (as of April 2026)
## Running Containers (verified 2026-06-18)
| Container | Image | Port(s) | Compose Path |
|---|---|---|---|
@@ -18,11 +18,8 @@
| onlyoffice | onlyoffice/documentserver | 8880 | /srv/docker/media/ |
| homarr | homarr:latest | 7575 | /srv/docker/homarr/ |
| uptime-kuma | uptime-kuma:2 | 3001 | /srv/docker/uptime-kuma/ |
| grafana | grafana:latest | 3020 | /srv/docker/monitoring/ |
| prometheus | prom/prometheus:latest | 9090 | /srv/docker/monitoring/ |
| node-exporter | prom/node-exporter:latest | 9100 | /srv/docker/monitoring/ |
| cadvisor | cadvisor:latest | 8090 | /srv/docker/monitoring/ |
| graphite-exporter | prom/graphite-exporter:latest | 9108-9109 | /srv/docker/monitoring/ |
| beszel | henrygd/beszel:latest | 8085 | /srv/docker/beszel/ |
| beszel-agent | henrygd/beszel-agent:latest | host (unix socket) | /srv/docker/beszel/ |
| glances | nicolargo/glances:latest | 61208 | /srv/docker/glances/ |
| meshcentral | typhonragewind/meshcentral:latest | 444 | /srv/docker/meshcentral/ |
| guacamole | jwetzell/guacamole | 8383 | /srv/docker/guacamole/ |
@@ -44,9 +41,9 @@
- Compose: `/srv/docker/open-webui/docker-compose.yml`
- Connects to Ollama backend running on ThinkStation (192.168.88.41, no external port)
## Migrated Services
- **PhotoPrism** and **Immich** were migrated to VM113 (photos, 192.168.88.32) in April 2026
- See `/home/jgitta/Documents/Claude/Projects/Photos/photos.md` for current details
## Photo Management
- **Immich** runs on VM113 (photos, 192.168.88.32) — migrated from siklos in April 2026
- **PhotoPrism** was removed from siklos in June 2026 — Immich chosen as the single photo management solution
## Pi-hole
- Port: 53 (DNS), 8080 (web UI)
@@ -61,21 +58,23 @@
- **Watchdog**: native cron on Siklos at `*/5 * * * *``/usr/local/bin/pihole-watchdog.sh` (restarts if DNS fails); Claude scheduled task is a secondary layer
- Uptime Kuma DNS monitor uses `192.168.88.27` (host IP, not Docker internal)
## Monitoring Stack
- Compose: `/srv/docker/monitoring/`
- Grafana: port 3020 (`grafana.jgitta.com`), datasource UID: `cffiqslf48feod`
- Prometheus: port 9090
- Node Exporter on: siklos (.27), proxmox (.25), nextcloud (.62), jellyfin (.10), pbs (.60), caddy (.110), thinkstation (.41) — all port 9100
- Grafana alert folder "Homelab Alerts":
- High RAM >90% for 5min
- Swap >50% for 5min
- CPU >90% for 10min
- Disk >85% for 5min
- Node Down 2min
- Alert annotations: `{{ $labels.instance }}` and `{{ $values.B }}%`
- Alerts use three-step reduce+threshold pipeline (not classic conditions)
- Telegram: bot token `8758434542:AAEW6omM7twyInsb2INuy6mD1w2EWXHqmzE`, chat `8260387200`, repeat every 4h
- Uptime Kuma: port 3001 (`status.jgitta.com`), joined to `pihole_default` network
## Monitoring Stack — Beszel (migrated 2026-06-18)
Replaced Prometheus + Grafana + cAdvisor + node_exporter with **Beszel** — a lightweight all-in-one monitoring tool.
- **Hub**: Docker container on siklos, port 8085 → `https://beszel.jgitta.com`
- **Compose**: `/srv/docker/beszel/docker-compose.yml`
- **Architecture**: Hub communicates with agents over SSH (port 45876). On siklos the agent uses a unix socket (`/srv/docker/beszel/beszel_socket/beszel.sock`) to avoid Docker network isolation issues.
- **Agent deployment**: Binary + systemd service (`beszel-agent.service`) on each remote host. Install script: `curl -sL https://get.beszel.dev/agent | bash`
- **Universal token**: Used to auto-register agents — stored in PocketBase `universal_tokens` collection
- **Agents installed on**: siklos (.27), jellyfin (.10), thinkstation (.41), proxmox jg-hud (.25), PBS (.60), caddy (.110), photos VM113 (.32), OCIS VM114 (.63)
- **Alerts configured** (via PocketBase API, regular user token required — not superuser):
- `Status` — host goes down
- `CPU` — >90%
- `Memory` — >90%
- `Disk` — >85%
- **Notifications**: Telegram bot `8758434542:AAEW6omM7twyInsb2INuy6mD1w2EWXHqmzE`, chat `8260387200`
- **Uptime Kuma**: port 3001 (`status.jgitta.com`), joined to `pihole_default` network — handles HTTP/port/DNS uptime checks (separate from Beszel resource monitoring)
## OnlyOffice
- URL: `https://office.jgitta.com`
@@ -94,11 +93,10 @@
## Key Notes
- Watchtower excludes Pi-hole from auto-updates
- NFS mount `/mnt/photos` was removed from Siklos `/etc/fstab` after PhotoPrism/Immich migration
- OnlyOffice replaced Collabora (lighter RAM usage)
- RAM reduced from 16GB → 12GB (April 2026, live via Proxmox balloon driver, no reboot)
- `vm.swappiness=10` set to reduce swap pressure after photo services migrated out
- OnlyOffice replaced Collabora (lighter RAM usage)
- RAM reduced from 16GB → 12GB (April 2026, live via Proxmox balloon driver, no reboot) — freed further in June 2026 when PhotoPrism was removed
- `vm.swappiness=10` set to reduce swap pressure
- NFS mount `/mnt/immich-photos` (from VM113 192.168.88.32) is in fstab — read-only access to Immich photo storage
## Portainer Setup (April 2026)