--- 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: