-
Notifications
You must be signed in to change notification settings - Fork 50
/
docker-compose.nginx.yml
46 lines (39 loc) · 1.39 KB
/
docker-compose.nginx.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
version: "3.7"
services:
prometheus:
# Reasoning behind Prometheus command query flags:
# --query.max-samples: each Prometheus data sample is 16 bytes.
# 16B * 31250000 = 1/2 GB.
# --query.max-concurrency: the max # of concurrent queries (default is 20).
# these parameters are intended to limit the amount of memory Prometheus
# uses for its queries to ~1GB, because it's sensitive to OOMs.
command: "--config.file=/etc/prometheus/prometheus.yml --web.external-url=https://${LETSENCRYPT_FQDN?}/prometheus --web.route-prefix=/ --query.max-samples=31250000 --query.max-concurrency=2"
grafana:
volumes:
- ./grafana/grafana.ini:/etc/grafana/grafana.ini
nginx:
build: ./nginx
restart: always
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
volumes:
- ./nginx/etc/.htpasswd:/etc/nginx/.htpasswd
- ./nginx/etc/ssl:/etc/nginx/ssl
- ./nginx/etc/service.conf:/etc/nginx/service.conf
ports:
- "80:80"
- "443:443"
environment:
- LETSENCRYPT=true
- "TZ=${TIMEZONE}"
- "LE_EMAIL=${LETSENCRYPT_EMAIL?}"
- "LE_FQDN=${LETSENCRYPT_FQDN?}"
# Uncomment the lines below to use your own TLS certs.
# - "SSL_CERT=${SSL_CERT}"
# - "SSL_KEY=${SSL_KEY}"
# - "SSL_CHAIN_CERT=${SSL_CHAIN_CERT}"
depends_on:
- grafana