Setting up beszel in uncloud
This is my docker-compose.yaml for beszel:
services:
beszel:
image: henrygd/beszel:latest
x-ports:
- beszel.your-domain.com:8090/https
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
- Deploy the beszel webapp with
uc deploy bezel.yml - Signup and login
- Go to settings/tokens and activate “Universal Token”
- Under the ••• drop-down menu, select “Copy Docker Compose”. This will give you something like this:
services:
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./beszel_agent_data:/var/lib/beszel-agent
# monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
environment:
LISTEN: 45876
KEY: 'ssh-ed25519 xxxxxxxxxxxxxxxxxxxxxxxxx'
TOKEN: xxxx-xxxxx-xxxxx-xxxxx
HUB_URL: https://beszel.your-domain.com
Add this line to the bottom of it:
deploy:
mode: global
This will ensure that the agent is installed on all your machines.
I usually just paste the beszel-agent bit into the first docker-compose, then re-run:
uc deploy -f beszel.yml
This will give you some output like this:
[+] Deploying services 8/8
✔ Container beszel-agent-xmai on eon Started 1.4s
✔ Container beszel-agent-os6i on itx Started 0.6s
✔ Container beszel-agent-hkhd on node2 Started 0.6s
✔ Container beszel-agent-w84p on node3 Started 1.4s
✔ Container beszel-agent-qd42 on node4 Started 0.6s
✔ Container beszel-agent-c79q on pico Started 0.5s
✔ Container beszel-agent-v7ff on rock4 Started 0.8s
✔ Container beszel-agent-odec on rock5 Started 0.7s
Then you might want to rename the nodes in the beszel web UI for easier machine identification. I still haven't worked out how to make that process automatic, but it's not a big deal.