Files
Watcher/docker-compose.yaml
triggermeelmo ae8b60687a
All checks were successful
Gitea CI/CD / dotnet-build-and-test (push) Successful in 42s
Gitea CI/CD / Set Tag Name (push) Successful in 4s
Gitea CI/CD / docker-build-and-push (push) Successful in 1m33s
Gitea CI/CD / Create Tag (push) Successful in 4s
docker build fails at db migrations
2026-01-07 14:24:47 +01:00

66 lines
1.7 KiB
YAML

services:
watcher:
image: git.triggermeelmo.com/triggermeelmo/watcher-server:latest
container_name: watcher
# Resource Management
deploy:
resources:
limits:
memory: 200M
restart: unless-stopped
# Security - User/Group ID aus Umgebungsvariablen
user: "${USER_UID:-1000}:${USER_GID:-1000}"
# Health Check
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Environment
environment:
# Non-Root User
- USER_UID=1000 # Standard 1000
- USER_GID=1000 # Standard 1000
# Timezone
- TZ=Europe/Berlin
# Update Check
- UPDATE_CHECK_ENABLED=true
- UPDATE_CHECK_INTERVAL_HOURS=24
- UPDATE_CHECK_REPOSITORY_URL=https://git.triggermeelmo.com/api/v1/repos/Watcher/watcher/releases/latest
# Data Retention Policy
- METRIC_RETENTION_DAYS=30
- METRIC_CLEANUP_INTERVAL_HOURS=24
- METRIC_CLEANUP_ENABLED=true
# Aktualisierungsrate Frontend
- FRONTEND_REFRESH_INTERVAL_SECONDS=30
# Ports
ports:
- "5000:5000"
# Volumes
volumes:
- ./data/db:/app/persistence
- ./data/dumps:/app/wwwroot/downloads/sqlite
- ./data/logs:/app/logs
# Labels (Traefik Integration)
labels:
- "traefik.enable=true"
- "traefik.http.routers.watcher.rule=Host(`watcher.example.com`)"
- "traefik.http.routers.watcher.entrypoints=websecure"
- "traefik.http.routers.watcher.tls.certresolver=letsencrypt"
- "traefik.http.services.watcher.loadbalancer.server.port=5000"
- "com.watcher.description=Server Monitoring Application"
- "com.watcher.version=${IMAGE_VERSION:-latest}"