Files
docker/monitoring/docker-compose.yaml

127 lines
3.2 KiB
YAML

version: "3.9"
networks:
proxy:
external: true
internal:
external: true
volumes:
netdataconfig:
name: netdataconfig
netdatalib:
name: netdatalib
netdatacache:
name: netdatacache
apc:
name: apc
telegraf:
name: telegraf
influxdb:
name: influxdb
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
hostname: netdata.lan
restart: unless-stopped
cap_add:
- SYS_PTRACE
environment:
- NETDATA_CLAIM_TOKEN=whnDRS4-Z0fJH9P2Y01jHXeBKb6cpzIxsRsFFiuCbE0u_QhDciI4V8NrftAmu8YnWDd9KRX5-bGlU8G_s7F-Ux6lYVkVtdqdjXRPfiTMm4JN8wpJGnm2CedKAP7FiFIp8spaLx4
- NETDATA_CLAIM_URL=https://app.netdata.cloud
- NETDATA_CLAIM_ROOMS=a427cb5f-a572-4bbf-90d8-ad97144960c1
security_opt:
- apparmor:unconfined
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer:/data
networks:
- proxy
- internal
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.netdata.rule=Host(`netdata.lan`)"
- "traefik.http.routers.netdata.entrypoints=web"
- "traefik.http.routers.netdata.service=netdata"
- "traefik.http.services.netdata.loadbalancer.server.port=19999"
apc:
build: .
container_name: apc
hostname: apc.lan
tty: true
devices:
- /dev/usb/hiddev0
volumes:
- apc:/etc/apcupsd
networks:
- proxy
- internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.apc.rule=Host(`apc.lan`)"
- "traefik.http.routers.apc.entrypoints=web"
- "traefik.http.routers.apc.service=apc"
- "traefik.http.services.apc.loadbalancer.server.port=80"
- "com.centurylinklabs.watchtower.enable=false"
ports:
- "3551:3551/tcp"
- "3551:3551/udp"
telegraf:
image: telegraf:alpine
container_name: telegraf
networks:
- internal
volumes:
- telegraf:/etc/telegraf/
depends_on:
- influxdb
influxdb:
image: influxdb:alpine
container_name: influxdb
env_file: ../.env
volumes:
- influxdb:/var/lib/influxdb
networks:
- proxy
- internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.influx.rule=Host(`influx.lan`)"
- "traefik.http.routers.influx.entrypoints=web"
- "traefik.http.routers.influx.service=influx"
- "traefik.http.services.influx.loadbalancer.server.port=8086"
grafana:
image: grafana/grafana-oss
container_name: grafana
hostname: grafana.lan
restart: unless-stopped
depends_on:
- influxdb
networks:
- proxy
- internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`grafana.lan`)"
- "traefik.http.routers.grafana.entrypoints=web"
- "traefik.http.routers.grafana.service=grafana"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"