Add beszel module

This commit is contained in:
JuliusFreudenberger 2026-06-11 21:39:43 +02:00
parent d4cc7f893e
commit 5c9999132b
2 changed files with 64 additions and 0 deletions

View file

@ -16,6 +16,7 @@
../../modules/docker.nix ../../modules/docker.nix
../../modules/traefik.nix ../../modules/traefik.nix
../../modules/pocket-id.nix ../../modules/pocket-id.nix
../../modules/beszel-hub.nix
../../modules/netbird-docker.nix ../../modules/netbird-docker.nix
../../modules/netbird-client.nix ../../modules/netbird-client.nix
../../modules/dockhand.nix ../../modules/dockhand.nix
@ -51,6 +52,11 @@
appUrl = "dockhand.jfreudenberger.de"; appUrl = "dockhand.jfreudenberger.de";
}; };
beszel-docker = {
enable = true;
appUrl = "https://beszel.jfreudenberger.de";
};
netbird-docker = { netbird-docker = {
enable = true; enable = true;
secrets = config.age.secrets.netbird-server; secrets = config.age.secrets.netbird-server;

58
modules/beszel-hub.nix Normal file
View file

@ -0,0 +1,58 @@
{
config,
lib,
...
}:
let
cfg = config.services.beszel-docker;
version = "0.18.7";
in {
options.services.beszel-docker = {
enable = lib.mkEnableOption "Beszel hub hosted as OCI container";
appUrl = lib.mkOption {
description = "URL of the beszel hub";
type = lib.types.str;
};
};
config = lib.mkIf cfg.enable {
virtualisation.oci-containers.containers = {
beszel = {
image = "henrygd/beszel:${version}";
autoStart = true;
networks = [
"traefik"
];
environment = {
APP_URL = cfg.appUrl;
};
extraOptions = [
''--mount=type=volume,source=data,target=/beszel_data,volume-driver=local''
/*''--health-cmd=["/beszel" "health" "--url" "http://localhost:8090"]''
"--health-interval=120s"
"--health-timeout=5s"
"--health-retries=2"
"--health-start-period=10s"*/
];
labels = {
"traefik.enable" = "true";
"traefik.http.routers.beszel.rule" = "Host(`${lib.removePrefix "https://" cfg.appUrl}`)";
"traefik.http.routers.beszel.entrypoints" = "websecure";
};
};
};
systemd.services."docker-beszel" = {
after = [
"docker-traefik.service"
];
requires = [
"docker-traefik.service"
];
};
};
}