Beszel
Beszel — lekki monitoring systemowy. CPU (per core), RAM, swap, dysk, sieć, temperatura + metryki Docker per kontener. Historia w SQLite, alerty na progi.



Konfiguracja
graph LR
U[Przeglądarka] --> H[Beszel Hub<br/>mini-1.lan:11292]
H -->|SSH Ed25519<br/>port 45876| A1[Beszel Agent<br/>nas-1.lan]
H -->|SSH Ed25519<br/>port 45876| A2[Beszel Agent<br/>mini-2.lan]
H -->|SSH Ed25519<br/>port 45876| A3[Beszel Agent<br/>server-1.lan]
A1 -->|socket| D1[Docker Engine]
A2 -->|socket| D2[Docker Engine]
A3 -->|socket| D3[Docker Engine]
Hub — mini-1.lan
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports: [11292:8090]
extra_hosts:
- host.docker.internal:host-gateway
volumes:
- ./data:/beszel_data
environment:
TZ: Europe/Warsaw
labels:
homepage.group: Tools
homepage.name: Beszel
homepage.icon: beszel.png
homepage.href: http://mini-1.lan:11292
extra_hosts: host.docker.internal:host-gateway — potrzebne żeby hub łączył się z agentem na tym samym hoście. Po starcie hub generuje klucz SSH Ed25519 — podajesz go jako KEY w agentach.
Agent
network_mode: host — bez tego metryki sieci pokazują ruch kontenera, nie hosta.
# nas-1.lan/agents/docker-compose.yml
services:
agent_beszel:
image: henrygd/beszel-agent:latest
container_name: agent_beszel
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: 45876
KEY: 'ssh-ed25519 AAAAC3NzaC1...'
TOKEN: 34333242-2522-4c59-8604-1b3e89d72a11
HUB_URL: http://mini-1.lan:11292