-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.yml
136 lines (129 loc) · 3.31 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
version: "2.2"
networks:
web:
external: true
internal:
external: false
services:
traefik:
image: traefik:1.7.2-alpine
user: '0'
container_name: traefik
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $PWD/traefik.toml:/traefik.toml
- $PWD/acme.json:/acme.json
ports:
- 80:80
- 443:443
labels:
- traefik.frontend.rule=Host:myserv-monitor.er
- traefik.port=8080
networks:
- web
grafana:
image: grafana/grafana:7.0.0
user: '0'
container_name: grafana
restart: always
volumes:
- ./grafana/var/lib/:/var/lib/grafana
- ./html/:/html
environment:
- GF_INSTALL_PLUGINS=grafana-clock-panel,yesoreyeram-boomtheme-panel,savantly-heatmap-panel,ryantxu-ajax-panel,grafana-worldmap-panel,innius-video-panel
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_SECURITY_COOKIE_SAMESITE=none
- GF_SECURITY_COOKIE_SECURE=true
- GF_RENDERING_SERVER_URL=http://renderer:8081/render
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/
- GF_LOG_FILTERS=rendering:debug
labels:
- traefik.backend=grafana
- traefik.frontend.rule=Host:myserv-grafana.er
- traefik.docker.network=web
- traefik.port=3000
networks:
- internal
- web
depends_on:
- traefik
privileged: true
renderer:
image: grafana/grafana-image-renderer
user: '0'
container_name: renderer
restart: always
networks:
- internal
labels:
- traefik.enable=false
mem_limit: 400m
memswap_limit: 700m
cpus: 0.25
influxdb:
image: influxdb
user: '0'
container_name: influxdb
restart: always
volumes:
- ./influxdb:/var/lib/influxdb
environment:
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_USER=user
- INFLUXDB_ADMIN_PASSWORD
- INFLUXDB_USER_PASSWORD
- INFLUXDB_DATA_CACHE_MAX_MEMORY_SIZE=200m
- INFLUXDB_DATA_CACHE_SNAPSHOT_MEMORY_SIZE=10m
- INFLUXDB_DATA_WAL_FSYNC_DELAY=100ms
- INFLUXDB_DATA_COMPACT_FULL_WRITE_COLD_DURATION=48h
- INFLUXDB_COORDINATOR_WRITE_TIMEOUT=60s
- INFLUXDB_COORDINATOR_QUERY_TIMEOUT=30s
- INFLUXDB_RETENTION_ENABLED=false
- INFLUXDB_RETENTION_CHECK_INTERVAL=30000m
- INFLUXDB_SHARD_PRECREATION_CHECK_INTERVAL=24h
networks:
- internal
labels:
- traefik.enable=false
privileged: true
jupyter:
build: ./jupyter
user: '0'
container_name: jupyter
hostname: jupyter
restart: always
volumes:
- ./jupyter:/home/jovyan/work
- ./html:/home/jovyan/html
- ./data:/home/jovyan/data
labels:
- traefik.backend=jupyter
- traefik.frontend.rule=Host:myserv-jupyter.er
- traefik.docker.network=web
- traefik.port=8888
networks:
- internal
- web
depends_on:
- traefik
cpus: 0.5
httpd:
image: httpd
user: '0'
container_name: httpd
hostname: httpd
restart: always
volumes:
- ./html:/usr/local/apache2/htdocs/
labels:
- traefik.backend=httpd
- traefik.frontend.rule=Host:myserv-html.er
- traefik.docker.network=web
- traefik.port=80
networks:
- internal
- web
depends_on:
- traefik