From 9fa3af56174a5bc55ee207c8a0840cf14d2f66e7 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 27 Oct 2025 15:09:50 +0000 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20add=20uptime-kuma=20servic?= =?UTF-8?q?e=20configuration=20to=20stack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stacks/apps/uptime/stack.yml | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 stacks/apps/uptime/stack.yml diff --git a/stacks/apps/uptime/stack.yml b/stacks/apps/uptime/stack.yml new file mode 100644 index 0000000..77e9f8d --- /dev/null +++ b/stacks/apps/uptime/stack.yml @@ -0,0 +1,39 @@ +services: + uptime-kuma: + image: louislam/uptime-kuma:1.23.16 + volumes: + - /home/doc/swarm-data/appdata/uptime:/app/data + environment: + - TZ=America/New_York + networks: + - homelab + healthcheck: + test: ["CMD", "node", "/app/extra/healthcheck.js"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + deploy: + placement: + constraints: [node.hostname == p0] + replicas: 1 + restart_policy: + condition: on-failure + delay: 10s + max_attempts: 3 + update_config: + parallelism: 1 + delay: 10s + failure_action: rollback + order: start-first + labels: + - "traefik.enable=true" + - "traefik.http.routers.uptime-kuma.rule=Host(`status.bitfrost.me`)" + - "traefik.http.routers.uptime-kuma.entrypoints=websecure" + - "traefik.http.routers.uptime-kuma.tls.certresolver=cloudflare" + - "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001" + - "traefik.docker.network=homelab" + +networks: + homelab: + external: true \ No newline at end of file