Files
learn-traefik/4.Addons/docker-compose.yml
Vassiliy Yegorov edaa556a5e init commit
2020-07-08 16:03:52 +07:00

69 lines
2.5 KiB
YAML

version: '3.7'
services:
grafana:
container_name: ${APP_NAME}-grafana
image: grafana/grafana:latest
restart: always
environment:
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD}
- GF_SECURITY_ADMIN_USER=${GF_SECURITY_ADMIN_USER}
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_ALLOW_ORG_CREATE=false
labels:
- "traefik.enable=true"
- "traefik.docker.network=webproxy"
- "traefik.http.routers.grafana.entrypoints=https"
- "traefik.http.routers.grafana.rule=Host(`grafana.tfm.zone`)" # change URL !
- "traefik.http.routers.grafana.tls=true"
- "traefik.http.routers.grafana.tls.certresolver=letsEncrypt"
- "traefik.http.routers.grafana.service=grafana-service"
- "traefik.http.services.grafana-service.loadbalancer.server.port=3000"
volumes:
- grafana:/var/lib/grafana/
expose:
- 3000
networks:
- monitor_net
- webproxy
prometheus:
container_name: ${APP_NAME}-prometheus
image: prom/prometheus
restart: always
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
labels:
- "traefik.enable=true"
- "traefik.docker.network=webproxy"
- "traefik.http.routers.prometheus.entrypoints=https"
- "traefik.http.routers.prometheus.rule=Host(`prom.tfm.zone`)" # change URL !
- "traefik.http.routers.prometheus.tls=true"
- "traefik.http.routers.prometheus.tls.certresolver=letsEncrypt"
- "traefik.http.routers.prometheus.service=prometheus-service"
- "traefik.http.routers.prometheus.middlewares=prometheus-auth"
- "traefik.http.services.prometheus-service.loadbalancer.server.port=9090"
- "traefik.http.middlewares.prometheus-auth.basicauth.users=admin:$$2y$$05$$7GBmuRxTR0T3IZ5rQO4iB.cj2p23RjIIkLB/l5bPn3gzkpfVahvKO" # admin \ admin in "echo $(htpasswd -nbB admin admin) | sed -e s/\\$/\\$\\$/g"
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
expose:
- 9090
networks:
- monitor_net
- webproxy
volumes:
prometheus_data:
grafana:
networks:
webproxy:
external:
name: webproxy
monitor_net:
name: monitor_net