Beszel is a lightweight, self‑hosted server monitoring platform that combines a central Hub with distributed Agents to track system and Docker container performance, historical data, and alerts. It’s designed to be simple, resource‑efficient, and easy to deploy in homelabs or production environments
sudo apt update && sudo apt upgrade -ycurl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
sudo apt install docker-compose-pluginsudo usermod -aG docker $USERsudo systemctl enable dockersudo rebootdocker run hello-worldmkdir ~/docker mkdir ~/docker/beszel
In ~/docker/beszel create docker-compose.yml
services:
beszel-agent:
image: henrygd/beszel-agent:latest
container_name: beszel-agent
restart: unless-stopped
network_mode: host
environment:
LISTEN: "45876"
KEY: "The key you generate on the Beszel server by clicking Add System"
TOKEN: "The token you generate on the Beszel server by clicking Add System"
HUB_URL: "https://192.168.xx.xx:8095" # Use the Beszel Server IP address
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /home/home-directory/docker/beszel/beszel_agent_data:/var/lib/beszel-agent:rw
- /var/lib/beszel/metrics:/var/lib/beszel/metrics:ro
To generate the KEY, browse to your Beszel Hub and click on Add System.
From within ~/docker/beszel run:
docker compose up
docker logs beszel-agent
Open your browser and go to "http://<192.168.xx.xx>:8095. You should see your Pi listed.
NOTE: If you don't see Docker Memory Usage being reported, do this:
sudo vi /boot/firmware/cmdline.txt
cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
sudo rebootIf you find my content useful, please consider supporting this page: