monitors your net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

109 lines
4.0 KiB

---
version: '3.8'
networks:
swarmnet-public:
external: true
volumes:
netmon-data:
netmon-data-brent:
netmon-data-shannon:
netmon-data-josh:
services:
app:
image: daveplsno/netmon:latest
hostname: netmon
env_file: .env.netmon
volumes:
- netmon-data:/app
networks:
- swarmnet-public
deploy:
restart_policy:
condition: on-failure
placement:
constraints:
- node.labels.${netmonNode? Variable not set} == true
labels:
- traefik.enable=true
- traefik.docker.network=swarmnet-public
- traefik.constraint-label=swarmnet-public
- traefik.http.routers.${netmonTraefikGrp? Variable not set}.rule=Host(`${netmonTraefikUrl? Variable not set}`)
- traefik.http.routers.${netmonTraefikGrp? Variable not set}.entrypoints=websecure
- traefik.http.routers.${netmonTraefikGrp? Variable not set}.tls=true
- traefik.http.routers.${netmonTraefikGrp? Variable not set}.tls.certresolver=le
- traefik.http.services.${netmonTraefikGrp? Variable not set}.loadbalancer.server.port=3000
brent:
image: daveplsno/netmon:latest
hostname: netmonBrent
env_file: .env.netmon.brent
volumes:
- netmon-data-brent:/app
networks:
- swarmnet-public
deploy:
restart_policy:
condition: on-failure
placement:
constraints:
- node.labels.${netmonNode? Variable not set} == true
labels:
- traefik.enable=true
- traefik.docker.network=swarmnet-public
- traefik.constraint-label=swarmnet-public
- traefik.http.routers.${netmonBrentTraefikGrp? Variable not set}.rule=Host(`${netmonBrentTraefikUrl? Variable not set}`)
- traefik.http.routers.${netmonBrentTraefikGrp? Variable not set}.entrypoints=websecure
- traefik.http.routers.${netmonBrentTraefikGrp? Variable not set}.tls=true
- traefik.http.routers.${netmonBrentTraefikGrp? Variable not set}.tls.certresolver=le
- traefik.http.services.${netmonBrentTraefikGrp? Variable not set}.loadbalancer.server.port=3000
shannon:
image: daveplsno/netmon:latest
hostname: netmonShannon
env_file: .env.netmon.shannon
volumes:
- netmon-data-shannon:/app
networks:
- swarmnet-public
deploy:
restart_policy:
condition: on-failure
placement:
constraints:
- node.labels.${netmonNode? Variable not set} == true
labels:
- traefik.enable=true
- traefik.docker.network=swarmnet-public
- traefik.constraint-label=swarmnet-public
- traefik.http.routers.${netmonShannonTraefikGrp? Variable not set}.rule=Host(`${netmonShannonTraefikUrl? Variable not set}`)
- traefik.http.routers.${netmonShannonTraefikGrp? Variable not set}.entrypoints=websecure
- traefik.http.routers.${netmonShannonTraefikGrp? Variable not set}.tls=true
- traefik.http.routers.${netmonShannonTraefikGrp? Variable not set}.tls.certresolver=le
- traefik.http.services.${netmonShannonTraefikGrp? Variable not set}.loadbalancer.server.port=3000
josh:
image: daveplsno/netmon:latest
hostname: netmonJosh
env_file: .env.netmon.josh
volumes:
- netmon-data-josh:/app
networks:
- swarmnet-public
deploy:
restart_policy:
condition: on-failure
placement:
constraints:
- node.labels.${netmonNode? Variable not set} == true
labels:
- traefik.enable=true
- traefik.docker.network=swarmnet-public
- traefik.constraint-label=swarmnet-public
- traefik.http.routers.${netmonJoshTraefikGrp? Variable not set}.rule=Host(`${netmonJoshTraefikUrl? Variable not set}`)
- traefik.http.routers.${netmonJoshTraefikGrp? Variable not set}.entrypoints=websecure
- traefik.http.routers.${netmonJoshTraefikGrp? Variable not set}.tls=true
- traefik.http.routers.${netmonJoshTraefikGrp? Variable not set}.tls.certresolver=le
- traefik.http.services.${netmonJoshTraefikGrp? Variable not set}.loadbalancer.server.port=3000