Files
pyLateMon/docker-compose-full_stack.yml
2022-06-13 23:55:08 +02:00

145 lines
4.2 KiB
YAML

version: '2.4'
services:
# DOCKERPROXY
dockerproxy:
container_name: dockerproxy
hostname: dockerproxy
restart: always
environment:
CONTAINERS: 1
image: tecnativa/docker-socket-proxy
labels:
- "com.centurylinklabs.watchtower.enable=true"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- net-dockerproxy
# TRAEFIK
traefik:
container_name: traefik
hostname: traefik
depends_on:
- dockerproxy
environment:
- TZ=Europe/Berlin
image: traefik:latest
labels:
- "traefik.docker.network=net-webproxy"
- "providers.file.filename=/dynamic_conf.yml"
- "traefik.enable=true"
ports:
- 80:80
- 443:443
- 8086:8086
restart: always
volumes:
- ./traefik/dynamic_conf.yml:/dynamic_conf.yml:ro
- ./traefik/traefik.yml:/traefik.yml:ro
- ./traefik/mycert.crt:/certs/cert.crt:ro
- ./traefik/mycert.key:/certs/privkey.key:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- net-dockerproxy
- net-webproxy
- net-webproxy-no-inet
# INFLUXDB
influxdb:
container_name: influxdb
hostname: influxdb
image: influxdb
depends_on:
- traefik
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.influxdb-secure.entrypoints=influxdb"
- "traefik.http.routers.influxdb-secure.rule=Host(`PLACE_YOUR_FQDN_HERE`)"
- "traefik.http.routers.influxdb-secure.tls=true"
- "traefik.http.routers.influxdb-secure.service=influxdb"
- "traefik.http.routers.influxdb-secure.middlewares=secHeaders@file"
- "traefik.http.services.influxdb.loadbalancer.server.port=8086"
- "traefik.docker.network=net-webproxy-no-inet"
volumes:
- ${MyPath}/influxdb/data:/var/lib/influxdb2
- ${MyPath}/influxdb/config:/etc/influxdb2
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- DOCKER_INFLUXDB_INIT_MODE
- DOCKER_INFLUXDB_INIT_USERNAME
- DOCKER_INFLUXDB_INIT_PASSWORD
- DOCKER_INFLUXDB_INIT_ORG
- DOCKER_INFLUXDB_INIT_BUCKET
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
- DOCKER_INFLUXDB_INIT_RETENTION
networks:
- net-webproxy-no-inet
# GRAFANA
grafana:
container_name: grafana
hostname: grafana
image: grafana/grafana
depends_on:
- influxdb
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.entrypoints=http"
- "traefik.http.routers.grafana.rule=Host(`PLACE_YOUR_FQDN_HERE`)"
- "traefik.http.middlewares.grafana-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.grafana.middlewares=grafana-https-redirect"
- "traefik.http.routers.grafana-secure.entrypoints=https"
- "traefik.http.routers.grafana-secure.rule=Host(`PLACE_YOUR_FQDN_HERE`)"
- "traefik.http.routers.grafana-secure.tls=true"
- "traefik.http.routers.grafana-secure.service=grafana"
- "traefik.http.routers.grafana-secure.middlewares=secHeaders@file"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- "traefik.docker.network=net-webproxy-no-inet"
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning:ro
- ${MyPath}/grafana/var_lib:/var/lib/grafana
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- GF_AUTH_ANONYMOUS_ENABLED
- GF_SECURITY_ALLOW_EMBEDDING
- GF_INSTALL_PLUGINS
networks:
- net-webproxy-no-inet
# latency-monitor
latency-monitor:
container_name: latency-monitor
hostname: latency-monitor
build: ./Docker_Build
depends_on:
- influxdb
restart: always
environment:
- INFLUX_URL
- INFLUX_TOKEN
- INFLUX_BUCKET
- INFLUX_ORG
- TARGET_HOST
- TARGET_TIMER
- TARGET_LOCATION
networks:
- net-webproxy
- net-webproxy-no-inet
networks:
net-dockerproxy:
external: false
net-webproxy:
external: false
net-webproxy-no-inet:
external: false