mirror of
https://github.com/Haxxnet/Compose-Examples
synced 2024-12-18 00:00:19 +00:00
118 lines
3.3 KiB
YAML
118 lines
3.3 KiB
YAML
services:
|
|
|
|
loki:
|
|
image: grafana/loki:2.9.10
|
|
container_name: loki
|
|
hostname: loki
|
|
volumes:
|
|
- ./volume-data/loki:/etc/loki # place loki-config.yml
|
|
ports:
|
|
- "127.0.0.1:3100:3100"
|
|
expose:
|
|
- 3100
|
|
restart: unless-stopped
|
|
user: 1000:1000
|
|
command: -config.file=/etc/loki/loki-config.yml
|
|
#networks:
|
|
# - monitoring_default
|
|
|
|
promtail:
|
|
image: grafana/promtail:latest
|
|
container_name: promtail
|
|
hostname: promtail
|
|
depends_on:
|
|
- loki
|
|
volumes:
|
|
- /var/log:/var/log:ro # let promtail access the docker host's log files
|
|
- ./volume-data/promtail:/etc/promtail # place promtail-config.yml
|
|
#- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/var/log/traefik # let promtail access your traefik reverse logs
|
|
restart: unless-stopped
|
|
command: -config.file=/etc/promtail/promtail-config.yml
|
|
#networks:
|
|
# - monitoring_default
|
|
|
|
influxdb:
|
|
image: influxdb:1.8
|
|
container_name: influxdb
|
|
hostname: influxdb
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./volume-data/influxdb/data:/var/lib/influxdb
|
|
- ./volume-data/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf:ro # place infuxdb.conf
|
|
- ./volume-data/influxdb/init:/docker-entrypoint-initdb.d # place create-database.iql for database init
|
|
environment:
|
|
- INFLUXDB_ADMIN_USER=admin
|
|
- INFLUXDB_ADMIN_PASSWORD=SuperDuperAdminPW
|
|
#networks:
|
|
# - monitoring_default
|
|
|
|
telegraf:
|
|
image: telegraf:latest
|
|
container_name: telegraf
|
|
hostname: telegraf
|
|
restart: unless-stopped
|
|
user: telegraf:$(stat -c '%g' /var/run/docker.sock) # see: https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/
|
|
dns:
|
|
- 1.1.1.1
|
|
- 8.8.8.8
|
|
depends_on:
|
|
- influxdb
|
|
volumes:
|
|
- ./volume-data/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro # place telegraf.conf
|
|
- /:/hostfs:ro
|
|
- /etc:/hostfs/etc:ro
|
|
- /proc:/hostfs/proc:ro
|
|
- /sys:/hostfs/sys:ro
|
|
- /var/run/utmp:/var/run/utmp:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- HOST_ETC=/hostfs/etc
|
|
- HOST_PROC=/hostfs/proc
|
|
- HOST_SYS=/hostfs/sys
|
|
- HOST_MOUNT_PREFIX=/hostfs
|
|
#networks:
|
|
# - monitoring_default
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: grafana
|
|
hostname: grafana
|
|
restart: unless-stopped
|
|
user: 1000:1000
|
|
depends_on:
|
|
- influxdb
|
|
- loki
|
|
- promtail
|
|
environment:
|
|
- GF_SERVER_ROOT_URL=https://grafana.example.com # pls change this
|
|
volumes:
|
|
- ./volume-data/grafana:/var/lib/grafana
|
|
ports:
|
|
- 3000:3000
|
|
expose:
|
|
- 3000
|
|
#networks:
|
|
# - monitoring_default
|
|
#labels:
|
|
# - traefik.enable=true
|
|
# - traefik.http.routers.grafana.rule=Host(`grafana.example.com`)
|
|
# - traefik.http.services.grafana.loadbalancer.server.port=3000
|
|
# - traefik.docker.network=proxy
|
|
# # Part for local lan services only
|
|
# - traefik.http.routers.grafana.middlewares=local-ipwhitelist@file
|
|
|
|
#prometheus:
|
|
# image: prom/prometheus
|
|
# container_name: prometheus
|
|
# restart: unless-stopped
|
|
# expose:
|
|
# - 9090
|
|
# volumes:
|
|
# - ./volume-data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
# #networks:
|
|
# # - monitoring_default
|
|
|
|
#networks:
|
|
# monitoring_default:
|
|
# external: true
|