diff --git a/docker/beszel/.env b/docker/beszel/.env new file mode 100644 index 0000000..b6a8c8f --- /dev/null +++ b/docker/beszel/.env @@ -0,0 +1,8 @@ +COMPOSE_PROJECT_NAME= +DOCKER_DATA_DIR= +TRAEFIK_DOMAINNAME_1= +TRAEFIK_NETWORK_NAME= +BESZEL_URL= +BESZEL_SYSTEM_KEY= +BESZEL_TOKEN= +TZ= \ No newline at end of file diff --git a/docker/beszel/compose.yaml b/docker/beszel/compose.yaml new file mode 100644 index 0000000..00425cf --- /dev/null +++ b/docker/beszel/compose.yaml @@ -0,0 +1,63 @@ +services: + beszel: + image: "henrygd/beszel:0.18.3" + container_name: "${COMPOSE_PROJECT_NAME:?error}-app" + restart: unless-stopped + security_opt: + - "no-new-privileges:true" + environment: + TZ: "${TZ:-Europe/Berlin}" + APP_URL: "${BESZEL_URL:?error}" + volumes: + - "${DOCKER_DATA_DIR:?error}/${COMPOSE_PROJECT_NAME:?error}/data:/beszel_data:z" + - "${DOCKER_DATA_DIR:?error}/${COMPOSE_PROJECT_NAME:?error}/socket:/beszel_socket:z" + networks: + default: + proxy: + labels: + traefik.enable: true + traefik.http.routers.beszel.entrypoints: "websecure-internal" + traefik.http.routers.beszel.rule: "Host(`monitoring.${TRAEFIK_DOMAINNAME_1:?error}`)" + traefik.http.routers.beszel.service: "beszel" + traefik.http.services.beszel.loadbalancer.server.port: 8090 + + dockerproxy: + image: "ghcr.io/tecnativa/docker-socket-proxy:v0.4.2" + container_name: "${COMPOSE_PROJECT_NAME:?error}-dockerproxy" + security_opt: + - "no-new-privileges:true" + environment: + CONTAINERS: 1 + INFO: 1 + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + restart: unless-stopped + networks: + default: + + beszel-agent: + image: "henrygd/beszel-agent:0.18.3-alpine" + container_name: "${COMPOSE_PROJECT_NAME:?error}-agent" + restart: unless-stopped + security_opt: + - "no-new-privileges:true" + depends_on: + - dockerproxy + network_mode: host + environment: + TZ: "${TZ:-Europe/Berlin}" + LISTEN: "/beszel_socket/beszel.sock" + DOCKER_HOST: "tcp://beszel-dockerproxy:2375" + KEY: "${BESZEL_SYSTEM_KEY:?error}" + TOKEN: "${BESZEL_TOKEN:?error}" + HUB_URL: "${BESZEL_URL:?error}" + DISK_USAGE_CACHE: "30m" + volumes: + - "${DOCKER_DATA_DIR:?error}/${COMPOSE_PROJECT_NAME:?error}/socket:/beszel_socket:z" + - "${DOCKER_DATA_DIR:?error}/${COMPOSE_PROJECT_NAME:?error}/agent-data:/var/lib/beszel-agent:z" + +networks: + default: + proxy: + external: true + name: "${TRAEFIK_NETWORK_NAME:-proxy}" \ No newline at end of file diff --git a/komodo/docker0.toml b/komodo/docker0.toml index 3452154..6b25296 100644 --- a/komodo/docker0.toml +++ b/komodo/docker0.toml @@ -79,6 +79,24 @@ AUTHENTIK_EMAIL_FROM=[[COMMON_SMTP_NO_REPLY_EMAIL]] ## +[[stack]] +name = "beszel" +[stack.config] +server = "local" +poll_for_updates = true +destroy_before_deploy = true +linked_repo = "ops" +run_directory = "docker/beszel" +environment = """ +DOCKER_DATA_DIR=[[DOCKER_DATA_DIR]] +BESZEL_URL=[[BESZEL_URL]] +BESZEL_SYSTEM_KEY=[[BESZEL_SYSTEM_KEY]] +BESZEL_TOKEN=[[BESZEL_TOKEN]] +TZ=[[TZ]] +""" + +## + [[stack]] name = "bot-nachrichtenoffizier" [stack.config]