diff --git a/swarm.yml b/swarm.yml index 01de390..ee502cb 100644 --- a/swarm.yml +++ b/swarm.yml @@ -249,6 +249,86 @@ - "traefik.http.routers.whoami-https.middlewares=privatevpn" networks: - public + swarmpit: + image: swarmpit/swarmpit:latest + environment: + - SWARMPIT_DB=http://db:5984 + - SWARMPIT_INFLUXDB=http://influxdb:8086 + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + networks: + - public + - agent_network + deploy: + resources: + limits: + cpus: '0.50' + memory: 1024M + reservations: + cpus: '0.25' + memory: 512M + placement: + constraints: + - node.role == manager + labels: + - "traefik.enable=true" + - "traefik.docker.network=public" + - "traefik.http.routers.swarmpit-https.rule=Host(`swarmpit.jingoh.private`)" + - "traefik.http.routers.swarmpit-https.entrypoints=websecure" + - "traefik.http.services.swarmpit.loadbalancer.server.port=8080" + - "traefik.http.routers.swarmpit-https.tls=true" + - "traefik.http.routers.swarmpit-https.middlewares=privatevpn" + db: + image: couchdb:2.3.1 + volumes: + - db-data:/opt/couchdb/data + networks: + - agent_network + deploy: + resources: + limits: + cpus: '0.30' + memory: 512M + reservations: + cpus: '0.15' + memory: 256M + placement: + constraints: + - node.role == manager + influxdb: + image: influxdb:1.7 + volumes: + - influx-data:/var/lib/influxdb + networks: + - agent_network + deploy: + resources: + reservations: + cpus: '0.3' + memory: 128M + limits: + cpus: '0.6' + memory: 512M + placement: + constraints: + - node.role == manager + agent: + image: swarmpit/agent:latest + environment: + - DOCKER_API_VERSION=1.35 + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + networks: + - agent_network + deploy: + mode: global + resources: + limits: + cpus: '0.10' + memory: 64M + reservations: + cpus: '0.05' + memory: 32M networks: public: external: true