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
I have two NVME SSDs installed in my DXP2800, mirrored, that I use to hold apps and docker containers. It's configured as /volume2. All of my docker containers are run from /volume2/docker
This guide will setup your Ugreen NAS to run as a Beszel Hub and Agent. You will browse to the Hub and it will see all the agents you have configured.
mkdir /volume2/docker/beszel
In /volume2/docker/beszel create docker-compose.yml
services:
beszel:
container_name: beszel
image: henrygd/beszel:latest
volumes:
- /volume1/docker/beszel:/beszel_data:rw
ports:
- 8095:8090
restart: unless-stopped
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: 45876
KEY: "YOUR-KEY" # This must match the key you set on the Beszel server
FILESYSTEM: /dev/sda1
restart: unless-stopped
To generate the KEY, you'll have to bring up the container, browse to your Beszel Hub and click on Add System. Once you update the compose file with the KEY, restart beszel
From within /volume2/docker/beszel run:
docker compose up -d
View logs for the Beszel server:
docker logs beszel
View logs for the Beszel agent:
docker logs beszel-agent
Open your browser and go to http://<your-ugreen-NAS>:8095 and start adding clients.
If you find my content useful, please consider supporting this page: