- Pocket-ID: ENCRYPTION_KEY contains $ — Komodo .env interpolation eats it. Inline with $$ YAML escape (value already in git history from master.yaml; rotate later). - photon: image dropped uv; use image default CMD, strip stale PATH/JAVA. - glances: PYTHON_VERSION must be 3.14 to match image venv.
181 lines
4.7 KiB
YAML
181 lines
4.7 KiB
YAML
version: "3.6"
|
|
services:
|
|
UniFi-Poller:
|
|
container_name: "UniFi-Poller"
|
|
entrypoint:
|
|
- "/usr/bin/unpoller"
|
|
environment:
|
|
- "UP_INFLUXDB_DISABLE=false"
|
|
- "UP_POLLER_DEBUG=false"
|
|
- "UP_INFLUXDB_URL=http://192.168.10.144:8785"
|
|
- "UP_UNIFI_CONTROLLER_0_SAVE_IDS=true"
|
|
- "UP_UNIFI_CONTROLLER_0_VERIFY_SSL=false"
|
|
- "UP_INFLUXDB_PASS=${INFLUXDB_UNIFI_PASSWORD}"
|
|
- "UP_PROMETHEUS_HTTP_LISTEN=0.0.0.0:9031"
|
|
- "UP_PROMETHEUS_DISABLE=true"
|
|
- "TZ=Europe/Berlin"
|
|
- "UP_UNIFI_CONTROLLER_0_URL=https://192.168.10.1"
|
|
- "UP_UNIFI_CONTROLLER_0_PASS=${UNIFI_POLLER_PASSWORD}"
|
|
- "UP_UNIFI_CONTROLLER_0_SAVE_DPI=true"
|
|
- "UP_INFLUXDB_DB=unifi"
|
|
- "UP_POLLER_QUIET=false"
|
|
- "UP_UNIFI_CONTROLLER_0_SITES_0=all"
|
|
- "UP_UNIFI_CONTROLLER_0_USER=unifipoller"
|
|
- "UP_UNIFI_CONTROLLER_0_SAVE_SITES=true"
|
|
- "UP_INFLUXDB_USER=unifipoller"
|
|
- "UP_INFLUXDB_INTERVAL=30s"
|
|
- "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"
|
|
image: "golift/unifi-poller"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "bridge"
|
|
user: "0"
|
|
restart: "unless-stopped"
|
|
working_dir: "/"
|
|
|
|
|
|
adguard-exporter:
|
|
container_name: "adguard-exporter"
|
|
entrypoint:
|
|
- "/adguard-exporter"
|
|
environment:
|
|
- "ADGUARD_SERVERS=http://192.168.10.54:3000,http://192.168.10.65:8083"
|
|
- "ADGUARD_USERNAMES=arnout,admin"
|
|
- "ADGUARD_PASSWORDS=${ADGUARD_PASSWORDS}"
|
|
- "TZ=Europe/Berlin"
|
|
image: "ghcr.io/henrywhitaker3/adguard-exporter:latest"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "bridge"
|
|
ports:
|
|
- "9618:9618/tcp"
|
|
user: "65532:65532"
|
|
restart: "unless-stopped"
|
|
working_dir: "/"
|
|
|
|
|
|
glances:
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
- "/venv/bin/python${PYTHON_VERSION} -m glances ${GLANCES_OPT}"
|
|
container_name: "glances"
|
|
environment:
|
|
- "GLANCES_OPT=-w -C /config/glances.conf"
|
|
- "TZ=Europe/Berlin"
|
|
- "PYTHON_VERSION=3.14"
|
|
expose:
|
|
- "61208/tcp"
|
|
- "61209/tcp"
|
|
hostname: "Atlas"
|
|
image: "nicolargo/glances"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "host"
|
|
restart: "always"
|
|
security_opt:
|
|
- "label=disable"
|
|
volumes:
|
|
- "/mnt/cache/appdata/glances:/config"
|
|
- "/mnt:/mnt:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
working_dir: "/app"
|
|
|
|
|
|
postgres_exporter:
|
|
command:
|
|
- "--config.file=/app/postgres_exporter.yml"
|
|
container_name: "postgres_exporter"
|
|
entrypoint:
|
|
- "/bin/postgres_exporter"
|
|
environment:
|
|
- "TZ=Europe/Berlin"
|
|
image: "quay.io/prometheuscommunity/postgres-exporter"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "bridge"
|
|
ports:
|
|
- "9187:9187/tcp"
|
|
restart: "unless-stopped"
|
|
user: "nobody"
|
|
volumes:
|
|
- "/mnt/cache/appdata/postgres_exporter:/app"
|
|
|
|
|
|
telegraf:
|
|
command:
|
|
- "telegraf"
|
|
container_name: "telegraf"
|
|
entrypoint:
|
|
- "/entrypoint.sh"
|
|
environment:
|
|
- "HOST_SYS=/rootfs/sys"
|
|
- "HOST_ETC=/rootfs/etc"
|
|
- "HOST_MOUNT_PREFIX=/rootfs"
|
|
- "TZ=Europe/Berlin"
|
|
- "HOST_PROC=/rootfs/proc"
|
|
expose:
|
|
- "8092/udp"
|
|
- "8094/tcp"
|
|
- "8125/udp"
|
|
hostname: "Atlas"
|
|
image: "golift/telegraf"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "host"
|
|
privileged: true
|
|
restart: "unless-stopped"
|
|
security_opt:
|
|
- "label=disable"
|
|
user: "telegraf:281"
|
|
volumes:
|
|
- "/:/rootfs:ro"
|
|
- "/etc:/rootfs/etc:ro"
|
|
- "/mnt/user/appdata/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf"
|
|
- "/proc:/rootfs/proc:ro"
|
|
- "/run/udev:/run/udev:ro"
|
|
- "/sys:/rootfs/sys:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "/var/run/utmp:/var/run/utmp:ro"
|
|
|
|
|
|
Grafana:
|
|
container_name: "Grafana"
|
|
environment:
|
|
- "TZ=Europe/Berlin"
|
|
- "GF_SERVER_ROOT_URL=http://grafana.arnoutvw.nl"
|
|
- "GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}"
|
|
image: "grafana/grafana"
|
|
ipc: "private"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: "1"
|
|
max-size: "50m"
|
|
network_mode: "bridge"
|
|
ports:
|
|
- "3029:3000/tcp"
|
|
restart: "unless-stopped"
|
|
user: "472"
|
|
volumes:
|
|
- "/mnt/user/appdata/grafana-latest:/var/lib/grafana" |