Files
compose-files/infra/compose.yaml
T
Arnout van Westen 0eb590f455 feat(dnsweaver): traefik router labels on all HTTP UIs; exclude list trimmed to DBs/agents
All HTTP-served containers (web UIs + metrics APIs) now carry explicit
router-rule labels so dnsweaver manages their arnoutvw.nl rewrites end
to end (no more relying on traefik defaultRule). krusader fixed to
noVNC 8080-ish label -> 6080. EXCLUDE_DOMAINS reduced to databases,
workers and agents (postgres14/mariadb/redis/postgresql17/komodo-mongo/
bookorbit-db/immich_postgres/immich_ml/dawarich_*db-redis-sidekiq/
influxdb/newt*/komodo-periphery/dockersocket/subsyncarr/wordpress-blues).
2026-10-05 09:10:52 +02:00

138 lines
6.0 KiB
YAML

services:
dnsweaver:
# Auto-manages AdGuard (192.168.10.54:3000, primary of the 2 synced
# instances) DNS rewrites for containers carrying traefik router rule
# labels, plus the traefik file-provider rules (fileConfig.yml mount).
# Managed mode: orphan cleanup deletes only records whose type+target
# match (A -> 192.168.10.144), which is why the *.arnoutvw.nl wildcard
# rewrite was removed and every defaultRule-derived hostname (no router
# label on its container) lives as an EXCLUDE_DOMAINS static rewrite.
image: maxamill/dnsweaver:latest
container_name: dnsweaver
restart: unless-stopped
init: true
network_mode: bridge
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /mnt/user/appdata/traefik/fileConfig.yml:/etc/traefik/fileConfig.yml:ro
environment:
TZ: Europe/Amsterdam
DNSWEAVER_LOG_LEVEL: info
DNSWEAVER_SOURCES: traefik
DNSWEAVER_SOURCE_TRAEFIK_FILE_PATHS: /etc/traefik/fileConfig.yml
DNSWEAVER_INSTANCES: adguard
DNSWEAVER_ADGUARD_TYPE: adguard
DNSWEAVER_ADGUARD_URL: http://192.168.10.54:3000
DNSWEAVER_ADGUARD_USERNAME: arnout
DNSWEAVER_ADGUARD_PASSWORD: ${DNSWEAVER_ADGUARD_PASSWORD}
DNSWEAVER_ADGUARD_MODE: managed
DNSWEAVER_ADGUARD_RECORD_TYPE: A
DNSWEAVER_ADGUARD_TARGET: 192.168.10.144
DNSWEAVER_ADGUARD_ZONE: arnoutvw.nl
DNSWEAVER_ADGUARD_DOMAINS: "*.arnoutvw.nl"
DNSWEAVER_ADGUARD_EXCLUDE_DOMAINS: postgres14.arnoutvw.nl,mariadb.arnoutvw.nl,redis.arnoutvw.nl,postgresql17.arnoutvw.nl,komodo-mongo.arnoutvw.nl,bookorbit-db.arnoutvw.nl,immich_postgres.arnoutvw.nl,dawarich_db.arnoutvw.nl,dawarich_redis.arnoutvw.nl,dawarich_sidekiq.arnoutvw.nl,influxdb-1.8.arnoutvw.nl,newt.arnoutvw.nl,newt-secondary.arnoutvw.nl,komodo-periphery.arnoutvw.nl,dockersocket.arnoutvw.nl,subsyncarr.arnoutvw.nl,wordpress-blues.arnoutvw.nl
smartctl-exporter:
image: quay.io/prometheuscommunity/smartctl-exporter:v0.14.0
container_name: smartctl-exporter
pull_policy: always
restart: unless-stopped
privileged: true
network_mode: bridge
user: root
ports:
- "9633:9633"
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.55.1
labels:
- traefik.enable=true
- traefik.http.routers.cadvisor.rule=Host(`cadvisor.arnoutvw.nl`)
- traefik.http.services.cadvisor.loadbalancer.server.port=8080
pull_policy: always
restart: unless-stopped
network_mode: bridge
ports:
- "9634:8080"
environment:
- TZ=Europe/Amsterdam
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
prometheus:
command:
- "--config.file=/etc/prometheus/prometheus.yml"
container_name: "prometheus"
restart: always
environment:
- "TZ=Europe/Berlin"
- "HOST_OS=Unraid"
- "HOST_HOSTNAME=Atlas"
- "HOST_CONTAINERNAME=prometheus"
image: "prom/prometheus:v3.15.0"
labels:
traefik.enable: "true"
traefik.http.routers.prometheus.rule: Host(`prometheus.arnoutvw.nl`)
traefik.http.services.prometheus.loadbalancer.server.port: "9090"
maintainer: "The Prometheus Authors <prometheus-developers@googlegroups.com>"
net.unraid.docker.icon: "https://raw.githubusercontent.com/selfhosters/unRAID-CA-templates/master/templates/img/prometheus.png"
net.unraid.docker.managed: "dockerman"
net.unraid.docker.webui: "http://[IP]:[PORT:9090]"
org.opencontainers.image.source: "https://github.com/prometheus/prometheus"
kuma.prometheus.http.name: Prometheus
kuma.prometheus.http.url: http://192.168.10.144:9099/
kuma.prometheus.http.interval: 120
kuma.prometheus.http.max_retries: 3
network_mode: "bridge"
ports:
- "9099:9090/tcp"
user: "99:100"
volumes:
- "/mnt/cache/appdata/prometheus/data:/prometheus"
- "./prometheus:/etc/prometheus"
working_dir: "/prometheus"
AutoKuma:
container_name: "AutoKuma"
environment:
TZ: Europe/Berlin
AUTOKUMA__KUMA__URL: http://192.168.10.65:3001
AUTOKUMA__KUMA__PASSWORD: Xo48Yak8
AUTOKUMA__TAG_NAME: AutoKuma
AUTOKUMA__DOCKER__LABEL_PREFIX: kuma
AUTOKUMA__STATIC_MONITORS: /static_monitors
AUTOKUMA__KUMA__USERNAME: arnoutvw
AUTOKUMA__TAG_COLOR: '#42C0FB'
AUTOKUMA__ON_DELETE: delete
AUTOKUMA__KUMA__CONNECT_TIMEOUT: 5
AUTOKUMA_DOCKER: 1
AUTOKUMA__DEFAULT_SETTINGS: |-
docker.docker_container: {{container_name}}
http.max_redirects: 10
*.max_retries: 3
AUTOKUMA__SNIPPETS__WEB: |-
{{container_name}}_http.http.name: {{container_name}} HTTP
{{container_name}}_http.http.url: https://{{ args[0] }}:{{ args[1] }}
{{container_name}}_docker.docker.name: {{container_name}} Docker
{{container_name}}_docker.docker.docker_container: {{container_name}}
image: "ghcr.io/bigboot/autokuma:2.0.0"
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/autokuma-icon.png"
net.unraid.docker.managed: "dockerman"
org.opencontainers.image.created: "2025-05-09T14:48:04.275Z"
org.opencontainers.image.description: "AutoKuma is a utility that automates the creation of Uptime\
\ Kuma monitors based on Docker container labels. With AutoKuma, you can eliminate the need for\
\ manual monitor creation in the Uptime Kuma UI."
org.opencontainers.image.licenses: "MIT"
org.opencontainers.image.revision: "1f07bc08d04eed3569d2ee1e97dd4b044e619109"
org.opencontainers.image.source: "https://github.com/BigBoot/AutoKuma"
org.opencontainers.image.title: "AutoKuma"
org.opencontainers.image.url: "https://github.com/BigBoot/AutoKuma"
org.opencontainers.image.version: "1.0.0"
network_mode: "bridge"
volumes:
- "/mnt/user/appdata/autokuma/static_monitors:/static_monitors"
- "/var/run/docker.sock:/var/run/docker.sock:ro"