143 lines
3.7 KiB
YAML
143 lines
3.7 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
|
|
prometheus-config:
|
|
name: prometheus-config
|
|
|
|
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
|
|
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
|
|
restart: unless-stopped
|
|
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"
|
|
|
|
prometheus:
|
|
image: prom/prometheus
|
|
container_name: prometheus
|
|
volumes:
|
|
- prometheus-config:/etc/prometheus
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.prometheus.rule=Host(`prometheus.lan`)"
|
|
- "traefik.http.routers.prometheus.entrypoints=web"
|
|
- "traefik.http.routers.prometheus.service=prometheus"
|
|
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
|
|
|
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"
|
|
|
|
|