summaryrefslogtreecommitdiff
path: root/playbooks/roles/mon/templates/stacks/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/mon/templates/stacks/docker-compose.yml')
-rw-r--r--playbooks/roles/mon/templates/stacks/docker-compose.yml35
1 files changed, 34 insertions, 1 deletions
diff --git a/playbooks/roles/mon/templates/stacks/docker-compose.yml b/playbooks/roles/mon/templates/stacks/docker-compose.yml
index ff7269f..98332cc 100644
--- a/playbooks/roles/mon/templates/stacks/docker-compose.yml
+++ b/playbooks/roles/mon/templates/stacks/docker-compose.yml
@@ -2,12 +2,14 @@ services:
mon:
image: twinproduction/gatus:latest
volumes:
- - {{ mon_base }}/volumes/data:/data
+ - "{{ mon_base }}/volumes/gatus/data:/data"
+ - "{{ mon_base }}/volumes/gatus/config:/config"
environment:
- TZ={{ timezone }}
- DEPLOYMENT_TIME={{ deployment_time }}
networks:
- proxy
+ - metrics
deploy:
mode: replicated
update_config:
@@ -20,12 +22,43 @@ services:
labels:
- traefik.enable=true
- traefik.swarm.network=proxy
+ - traefik.http.routers.mon.middlewares=oauth-verify
- traefik.http.routers.mon.tls=true
- traefik.http.routers.mon.tls.certResolver=letsencrypt
- traefik.http.routers.mon.rule=Host(`{{ mon_domain }}`)
- traefik.http.routers.mon.entrypoints=websecure
- traefik.http.services.mon.loadbalancer.server.port=8080
+ prometheus:
+ image: prom/prometheus:latest
+ volumes:
+ - "{{ mon_base }}/volumes/prometheus/config.yml:/etc/prometheus/prometheus.yml"
+ networks:
+ - proxy
+ - metrics
+ environment:
+ - TZ={{ timezone }}
+ - DEPLOYMENT_TIME={{ deployment_time }}
+ deploy:
+ mode: replicated
+ replicas: 1
+ update_config:
+ parallelism: 1
+ order: start-first
+ failure_action: rollback
+ labels:
+ - traefik.enable=true
+ - traefik.swarm.network=proxy
+ - traefik.http.routers.prometheus.tls=true
+ - traefik.http.routers.prometheus.tls.certResolver=letsencrypt
+ - traefik.http.routers.prometheus.rule=Host(`{{ prometheus_domain }}`)
+ - traefik.http.routers.prometheus.entrypoints=websecure
+ - traefik.http.services.prometheus.loadbalancer.server.port=9090
+
networks:
proxy:
external: true
+ metrics:
+ name: metrics
+ driver: overlay
+ attachable: true