-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
143 lines (132 loc) · 3.37 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# https://github.com/portainer/templates/blob/master/swarm/monitoring/docker-compose.yml
version: "3.8"
services:
grafana:
image: portainer/template-swarm-monitoring:grafana-9.5.2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.role == manager
labels:
- traefik.enable=true
- traefik.http.routers.twir-grafana.rule=Host(`grafana.twir.app`)
# - traefik.http.routers.twir-grafana.middlewares=admin-auth
- traefik.http.services.twir-grafana.loadbalancer.server.port=3000
- traefik.docker.network=traefik-public
volumes:
- type: volume
source: grafana-data
target: /var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
networks:
- net
- twir
- traefik-public
prometheus:
image: twirapp/prometheus:latest
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--log.level=error'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=7d'
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.role == manager
labels:
- traefik.enable=true
- traefik.http.routers.twir-prometheus.rule=Host(`prometheus.twir.app`)
- traefik.http.routers.twir-prometheus.middlewares=admin-auth
- traefik.http.services.twir-prometheus.loadbalancer.server.port=9090
- traefik.docker.network=traefik-public
volumes:
- type: volume
source: prometheus-data
target: /prometheus
networks:
- net
- twir
- traefik-public
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.47.0
command: -logtostderr -docker_only
deploy:
mode: global
resources:
limits:
memory: 128M
reservations:
memory: 64M
volumes:
- type: bind
source: /
target: /rootfs
read_only: true
- type: bind
source: /var/run
target: /var/run
read_only: true
- type: bind
source: /sys
target: /sys
read_only: true
- type: bind
source: /var/lib/docker
target: /var/lib/docker
read_only: true
- type: bind
source: /dev/disk
target: /dev/disk
read_only: true
networks:
- net
- twir
node-exporter:
image: prom/node-exporter:v1.5.0
command:
- '--path.sysfs=/host/sys'
- '--path.procfs=/host/proc'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
- '--no-collector.ipvs'
deploy:
mode: global
resources:
limits:
memory: 128M
reservations:
memory: 64M
volumes:
- type: bind
source: /
target: /rootfs
read_only: true
- type: bind
source: /proc
target: /host/proc
read_only: true
- type: bind
source: /sys
target: /host/sys
read_only: true
networks:
- net
- twir
volumes:
grafana-data:
prometheus-data:
networks:
net:
driver: overlay
twir:
external: true
traefik-public:
external: true