version: '3.8' networks: traefik-public: external: true homelab-backend: driver: overlay volumes: komodo_data: komodo_mongo_data: services: komodo-mongo: image: mongo:7 volumes: - komodo_mongo_data:/data/db networks: - homelab-backend deploy: placement: constraints: - node.labels.leader == true resources: limits: memory: 512M cpus: '1.0' reservations: memory: 128M cpus: '0.1' restart_policy: condition: on-failure delay: 5s max_attempts: 3 logging: driver: "json-file" options: max-size: "10m" max-file: "3" komodo-core: image: ghcr.io/moghtech/komodo:latest depends_on: - komodo-mongo environment: - KOMODO_DATABASE_ADDRESS=komodo-mongo:27017 volumes: - komodo_data:/config networks: - traefik-public - homelab-backend deploy: placement: constraints: - node.labels.leader == true resources: limits: memory: 512M cpus: '1.0' reservations: memory: 128M cpus: '0.1' restart_policy: condition: on-failure delay: 5s max_attempts: 3 labels: - "traefik.enable=true" - "traefik.http.routers.komodo.rule=Host(`komodo.sterl.xyz`)" - "traefik.http.routers.komodo.entrypoints=websecure" - "traefik.http.routers.komodo.tls.certresolver=cfresolver" - "traefik.http.services.komodo.loadbalancer.server.port=9120" - "traefik.swarm.network=traefik-public" - "docktail.enable=true" - "docktail.name=komodo" logging: driver: "json-file" options: max-size: "10m" max-file: "3" komodo-periphery: image: ghcr.io/moghtech/komodo-periphery:latest environment: - PERIPHERY_Id=periphery-{{.Node.Hostname}} volumes: - /var/run/docker.sock:/var/run/docker.sock:ro deploy: mode: global resources: limits: memory: 128M cpus: '0.5' reservations: memory: 32M cpus: '0.05' restart_policy: condition: on-failure delay: 5s max_attempts: 3 logging: driver: "json-file" options: max-size: "10m" max-file: "3"