debian/scripts/beszel.sh

69 lines
1.8 KiB
Bash
Raw Normal View History

2025-04-27 16:31:27 +03:00
#!/bin/bash
set -euo pipefail
sudo mkdir -p /srv/beszel
2025-04-27 19:13:17 +03:00
sudo chown -R peon:peon /srv/beszel
sudo -u peon -s
2025-04-27 16:31:27 +03:00
2025-04-27 21:26:46 +03:00
mkdir -p "$XDG_RUNTIME_DIR/beszel_socket"
2025-04-27 16:31:27 +03:00
# https://beszel.dev/guide/getting-started
# https://beszel.dev/guide/hub-installation
2025-05-01 03:22:19 +03:00
podman run -ti -d \
2025-04-27 16:31:27 +03:00
--name beszel \
--restart=unless-stopped \
2025-05-04 16:23:41 +03:00
--cpus=1.0 \
--memory=2g \
2025-04-27 16:31:27 +03:00
-v /srv/beszel:/beszel_data \
2025-04-27 21:23:29 +03:00
-v $XDG_RUNTIME_DIR/beszel_socket:/beszel_socket \
2025-04-27 16:31:27 +03:00
-p 8090:8090 \
2025-04-27 21:23:29 +03:00
docker.io/henrygd/beszel:latest
2025-04-27 16:31:27 +03:00
# https://beszel.dev/guide/agent-installation
read -p "Agent public key: " pub_key
2025-05-01 03:22:19 +03:00
podman run -ti -d \
2025-04-27 16:31:27 +03:00
--name beszel-agent \
--userns=keep-id \
--network host \
2025-05-04 16:23:41 +03:00
--cpus=1.0 \
--memory=2g \
2025-04-27 16:31:27 +03:00
--restart unless-stopped \
-v $XDG_RUNTIME_DIR/podman/podman.sock:$XDG_RUNTIME_DIR/podman/podman.sock:ro \
2025-04-27 21:23:29 +03:00
-v $XDG_RUNTIME_DIR/beszel_socket:/beszel_socket \
2025-04-27 16:31:27 +03:00
-e KEY="$pub_key" \
-e LISTEN=/beszel_socket/beszel.sock \
docker.io/henrygd/beszel-agent:latest
2025-04-27 19:13:17 +03:00
mkdir -p "$HOME/.config/systemd/user"
cd "$HOME/.config/systemd/user"
2025-04-27 21:23:29 +03:00
# TODO probably want to use quadlet instead
2025-04-27 19:13:17 +03:00
podman generate systemd --restart-policy=always --new --files --name beszel
podman generate systemd --restart-policy=always --new --files --name beszel-agent
podman stop beszel
podman stop beszel-agent
2025-04-27 21:23:29 +03:00
echo "You should make sure systemd creates RuntimeDirectory for socket"
echo "[Service]"
echo "RuntimeDirectory=beszel_socket"
echo "RuntimeDirectoryPreserve=yes"
read -p "Open services in vim? [Y/n]: " prompt
if [[ $prompt != "n" ]]; then
vim container-beszel.service
vim container-beszel-agent.service
fi
2025-04-27 19:13:17 +03:00
systemctl --user start container-beszel
systemctl --user start container-beszel-agent
systemctl --user status container-beszel
systemctl --user status container-beszel-agent
systemctl --user enable container-beszel
systemctl --user enable container-beszel-agent
2025-04-27 21:26:46 +03:00
exit