99 lines
2.2 KiB
YAML
99 lines
2.2 KiB
YAML
---
|
|
x-logging: &default-logging
|
|
driver: local
|
|
options:
|
|
max-size: "1m"
|
|
max-file: "50"
|
|
|
|
x-opt-values: &volume-opt
|
|
driver_opts: &options
|
|
type: "nfs"
|
|
o: "addr=${IP},rw"
|
|
|
|
services:
|
|
# https://learn.netdata.cloud/docs/agent/packaging/docker
|
|
# https://learn.netdata.cloud/docs/agent/exporting/walkthrough
|
|
netdata:
|
|
image: netdata/netdata
|
|
container_name: netdata
|
|
hostname: netdata.domain.tld # set to fqdn of host
|
|
env_file:
|
|
- netdata.env
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- SYS_PTRACE
|
|
security_opt:
|
|
- apparmor:unconfined
|
|
volumes:
|
|
- netdataconfig:/etc/netdata:ro
|
|
- 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
|
|
networks:
|
|
- reverse-proxy
|
|
- npg
|
|
logging: *default-logging
|
|
|
|
prometheus:
|
|
image: prom/prometheus
|
|
container_name: prometheus
|
|
hostname: prometheus
|
|
env_file:
|
|
prometheus.env
|
|
volumes:
|
|
- prometheus:/etc/prometheus
|
|
networks:
|
|
- npg
|
|
logging: *default-logging
|
|
|
|
grafana:
|
|
image: grafana/grafana
|
|
container_name: grafana
|
|
env_file:
|
|
grafana.env
|
|
volumes:
|
|
- grafana:/var/lib/grafana
|
|
networks:
|
|
- npg
|
|
logging: *default-logging
|
|
|
|
# Can be substituted by a standard volume declaration if it's just a test
|
|
# environment or no nfs server is available
|
|
volumes:
|
|
netdataconfig:
|
|
<<: *volume-opt
|
|
driver_opts:
|
|
<<: *options
|
|
device: ":/mnt/path/netdata/netdataconfig"
|
|
netdatalib:
|
|
<<: *volume-opt
|
|
driver_opts:
|
|
<<: *options
|
|
device: ":/mnt/path/netdata/netdatalib"
|
|
netdatacache:
|
|
<<: *volume-opt
|
|
driver_opts:
|
|
<<: *options
|
|
device: ":/mnt/path/netdata/netdatacache"
|
|
prometheus:
|
|
<<: *volume-opt
|
|
driver_opts:
|
|
<<: *options
|
|
device: ":/mnt/path/prometheus/prometheus"
|
|
grafana:
|
|
<<: *volume-opt
|
|
driver_opts:
|
|
<<: *options
|
|
device: ":/mnt/path/grafana/grafana"
|
|
|
|
networks:
|
|
reverse-proxy:
|
|
name: rp_reverse-proxy
|
|
external: true
|
|
npg:
|