This repository has been archived on 2025-11-16. You can view files and clone it, but cannot push or open issues or pull requests.
Files
swarm-production/stacks/apps/uptime/stack.yml
John b62b890482 Add healthchecks and resource constraints to all services
Added healthchecks:
- adminer: PHP file_get_contents check
- authentik_server: ak healthcheck command
- authentik_redis: redis-cli ping
- paperless_redis: redis-cli ping
- paperless_webserver: curl localhost:8000
- n8n: wget healthz endpoint
- traefik: wget ping endpoint (with --ping enabled)
- tracker-nginx: curl localhost:80

Added resource limits:
- adminer: 512M limit, 128M reservation
- authentik_server: 1G/1 CPU limit, 512M reservation
- authentik_worker: 1G/1 CPU limit, 512M reservation
- authentik_redis: 512M limit, 128M reservation
- paperless_redis: 512M limit, 128M reservation
- paperless_webserver: 2G/2 CPU limit, 1G reservation
- traefik: 512M/0.5 CPU limit, 256M reservation
- tracker-nginx: 256M limit, 64M reservation

All services now have proper health monitoring and resource constraints
to prevent resource exhaustion and improve reliability.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:08:49 +00:00

40 lines
1.1 KiB
YAML

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:
replicas: 1
placement:
preferences:
- spread: node.hostname
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.frostlabs.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