From 6c5f91e909198bd022cb566c059c7a09a9b34b2f Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 26 Jan 2026 15:03:11 -0700 Subject: [PATCH] convert all paths to absolute --- ansible/docker-compose.yml | 4 ++-- beets/docker-compose.yml | 2 +- ddns/docker-compose.yml | 2 +- dns/docker-compose.yml | 39 +++----------------------------- dupeguru/docker-compose.yml | 2 +- duplicati/docker-compose.yml | 14 ++++++------ guacamole/docker-compose.yml | 4 ++-- homeassistant/docker-compose.yml | 16 ++++++------- homepage/docker-compose.yml | 2 +- management/docker-compose.yml | 32 +++++++++++++------------- manyfold/docker-compose.yml | 2 +- mediaservices/docker-compose.yml | 18 +++++++-------- monitoring/docker-compose.yml | 16 ++++++------- periphery/docker-compose.yml | 2 +- qbittorrent/docker-compose.yml | 2 +- rustdesk/docker-compose.yml | 4 ++-- servarr/docker-compose.yml | 12 +++++----- smf/docker-compose.yml | 4 ++-- smtp-relay/docker-compose.yml | 2 +- syncthing/docker-compose.yml | 2 +- traefik/docker-compose.yml | 4 ++-- 21 files changed, 76 insertions(+), 109 deletions(-) diff --git a/ansible/docker-compose.yml b/ansible/docker-compose.yml index c8ed8f0..8de5cc7 100644 --- a/ansible/docker-compose.yml +++ b/ansible/docker-compose.yml @@ -4,7 +4,7 @@ services: container_name: semaphore-postgres restart: unless-stopped volumes: - - ./postgres:/var/lib/postgresql/data + - /docker/ansible/postgres:/var/lib/postgresql/data environment: POSTGRES_USER: semaphore POSTGRES_PASSWORD: ${SEMAPHORE_DB_PASSWORD} @@ -47,7 +47,7 @@ services: # Allow Semaphore to control Docker on the host (optional, but useful for Ansible) - /var/run/docker.sock:/var/run/docker.sock # Persist configuration - - ./semaphore:/etc/semaphore + - /docker/ansible/semaphore:/etc/semaphore networks: - ansible_external # For Traefik access - ansible_internal # For Database access diff --git a/beets/docker-compose.yml b/beets/docker-compose.yml index e5aff90..a602702 100644 --- a/beets/docker-compose.yml +++ b/beets/docker-compose.yml @@ -8,7 +8,7 @@ services: - TZ=America/Edmonton # Your timezone volumes: - - ./config:/config # Mount your Beets config directory + - /docker/beets/config:/config # Mount your Beets config directory - /pool/music:/music # Mount your music library #- /path/to/your/import_source:/import # Optional: directory for importing new music restart: unless-stopped diff --git a/ddns/docker-compose.yml b/ddns/docker-compose.yml index 455b2e0..c02540f 100644 --- a/ddns/docker-compose.yml +++ b/ddns/docker-compose.yml @@ -4,7 +4,7 @@ services: container_name: ddns restart: unless-stopped volumes: - - ./config:/updater/data + - /docker/ddns/config:/updater/data dns: - 1.1.1.1 - 8.8.8.8 diff --git a/dns/docker-compose.yml b/dns/docker-compose.yml index dbb2a79..c1e9fd9 100644 --- a/dns/docker-compose.yml +++ b/dns/docker-compose.yml @@ -1,9 +1,8 @@ services: # --- Node 1 (Primary) --- - dns-01: + dns: image: technitium/dns-server:latest container_name: dns-01 - hostname: dns-01 restart: unless-stopped ports: - "53:53/udp" # Live DNS @@ -15,10 +14,9 @@ services: - DNS_SERVER_ADMIN_PASSWORD=${DNS_ADMIN_PASSWORD} volumes: #- ${CONFIG_PATH}/primary:/etc/dns/config - - ./primary:/etc/dns + - /docker/dns/config:/etc/dns networks: dns_internal: - ipv4_address: 172.35.0.101 dns_external: {} labels: - "traefik.enable=true" @@ -28,34 +26,6 @@ services: - "traefik.http.routers.dns01.tls.certresolver=myresolver" - "traefik.http.services.dns01.loadbalancer.server.port=5380" - # --- Node 2 (Secondary) --- - dns-02: - image: technitium/dns-server:latest - container_name: dns-02 - hostname: dns-02 - restart: unless-stopped - ports: - - "5301:53/udp" # Testing DNS - - "5301:53/tcp" - - "5382:5380/tcp" # Web UI -> 5382 - environment: - - TZ=America/Edmonton - - DNS_SERVER_DOMAIN=dns2.mapletree.email - - DNS_SERVER_ADMIN_PASSWORD=${DNS_ADMIN_PASSWORD} - volumes: - #- ${CONFIG_PATH}/secondary:/etc/dns/config - - ./secondary:/etc/dns - networks: - dns_internal: - ipv4_address: 172.35.0.102 - dns_external: {} - labels: - - "traefik.enable=true" - - "traefik.docker.network=dns_external" - - "traefik.http.routers.dns02.rule=Host(`dns2.mapletree.email`)" - # ... (Standard Traefik labels) ... - - "traefik.http.services.dns02.loadbalancer.server.port=5380" - # --- Metrics Sidecar --- dns-exporter: image: ghcr.io/guycalledseven/technitium-dns-prometheus-exporter:latest @@ -72,9 +42,6 @@ services: networks: dns_internal: - driver: bridge - ipam: - config: - - subnet: 172.35.0.0/24 + internal: true dns_external: external: true diff --git a/dupeguru/docker-compose.yml b/dupeguru/docker-compose.yml index 019cee7..fdb6586 100644 --- a/dupeguru/docker-compose.yml +++ b/dupeguru/docker-compose.yml @@ -6,6 +6,6 @@ services: - "5800:5800" - "5900:5900" volumes: - - ./config:/config + - docker/dupeguru/config:/config - /pool/music:/storage/music:ro restart: unless-stopped diff --git a/duplicati/docker-compose.yml b/duplicati/docker-compose.yml index 0faabda..3160343 100644 --- a/duplicati/docker-compose.yml +++ b/duplicati/docker-compose.yml @@ -8,13 +8,13 @@ services: - TZ=America/Edmonton - SETTINGS_ENCRYPTION_KEY=qVcy9W7jQc61PcYf7OdJLS2faN+ArbSrzSpk7Zj2chk= volumes: - - /pool/docker:/source/docker:ro - - /db1:/source/db:ro - - /mnt/namer2/timeshift:/source/timeshift:ro - - /mnt/local_configs:/source/local_configs:ro - - /mnt/backup/duplicati:/backups - - /pool/docker/duplicati/config:/config - - /pool/docker/duplicati/data:/data + - /docker:/source/docker:ro + #- /db1:/source/db:ro + #- /mnt/namer2/timeshift:/source/timeshift:ro + #- /mnt/local_configs:/source/local_configs:ro + #- /mnt/backup/duplicati:/backups + - /docker/duplicati/config:/config + - /docker/duplicati/data:/data ports: - 8200:8200 restart: unless-stopped diff --git a/guacamole/docker-compose.yml b/guacamole/docker-compose.yml index 2365617..0374699 100644 --- a/guacamole/docker-compose.yml +++ b/guacamole/docker-compose.yml @@ -13,8 +13,8 @@ services: POSTGRESQL_PASSWORD: apts22$$ POSTGRESQL_DB: guacamole_db volumes: - - ./init:/docker-entrypoint-initdb.d:ro # Loads schema on first boot - - ./db:/var/lib/postgresql/data + - /docker/guacamole/init:/docker-entrypoint-initdb.d:ro # Loads schema on first boot + - /docker/guacamole/db:/var/lib/postgresql/data networks: - guac_internal diff --git a/homeassistant/docker-compose.yml b/homeassistant/docker-compose.yml index bae9af0..070134f 100755 --- a/homeassistant/docker-compose.yml +++ b/homeassistant/docker-compose.yml @@ -4,7 +4,7 @@ services: image: "lscr.io/linuxserver/homeassistant:latest" network_mode: host volumes: - - ./homeassistant:/config + - /docker/homeassistant/homeassistant:/config - /etc/localtime:/etc/localtime:ro - /run/dbus:/run/dbus:ro - /var/run/dbus:/var/run/dbus:ro @@ -23,9 +23,9 @@ services: ports: - "1883:1883" volumes: - - ./mosquitto/config:/mosquitto/config - - ./mosquitto/data:/mosquitto/data - - ./mosquitto:/mosquitto/log + - /docker/homeassistant/mosquitto/config:/mosquitto/config + - /docker/homeassistant/mosquitto/data:/mosquitto/data + - /docker/homeassistant/mosquitto:/mosquitto/log networks: - mqtt_net @@ -36,7 +36,7 @@ services: ports: - "1880:1880" volumes: - - ./node-red:/data + - /docker/homeassistant/node-red:/data matter-server: image: ghcr.io/home-assistant-libs/python-matter-server:stable @@ -44,7 +44,7 @@ services: restart: unless-stopped network_mode: host volumes: - - ./matter:/data + - /docker/homeassistant/matter:/data environment: - MATTER_SERVER_PORT=5580 @@ -61,7 +61,7 @@ services: - GOVEE_MQTT_USER=connect - GOVEE_MQTT_PASSWORD=connect volumes: - - ./govee2mqtt:/data + - /docker/homeassistant/govee2mqtt:/data networks: - mqtt_net @@ -73,7 +73,7 @@ services: shm_size: 512m volumes: - /etc/localtime:/etc/localtime:ro - - ./frigate:/config + - /docker/homeassistant/frigate:/config - /mnt/local_configs/frigate/cache:/tmp/cache - /pool/securitycameras:/media ports: diff --git a/homepage/docker-compose.yml b/homepage/docker-compose.yml index 6adafde..4ac807a 100644 --- a/homepage/docker-compose.yml +++ b/homepage/docker-compose.yml @@ -4,7 +4,7 @@ services: container_name: homepage restart: unless-stopped volumes: - - ./config:/app/config + - /docker/homepage/config:/app/config - /var/run/docker.sock:/var/run/docker.sock:ro networks: - homepage_internal # For local stack comms diff --git a/management/docker-compose.yml b/management/docker-compose.yml index 5569022..1e138cd 100644 --- a/management/docker-compose.yml +++ b/management/docker-compose.yml @@ -9,7 +9,7 @@ services: mem_reservation: "1024m" user: "1000:1000" env_file: - - ./.env + - /docker/management/.env labels: - "komodo.skip=true" restart: unless-stopped @@ -18,7 +18,7 @@ services: networks: - management_internal volumes: - - ./komodo-postgres:/var/lib/postgresql/data + - /docker/management/komodo-postgres:/var/lib/postgresql/data environment: POSTGRES_USER: ${KOMODO_DB_USERNAME} POSTGRES_PASSWORD: ${KOMODO_DB_PASSWORD} @@ -32,7 +32,7 @@ services: mem_reservation: "512m" user: "1000:1000" env_file: - - ./.env + - /docker/management/.env labels: - "komodo.skip=true" restart: unless-stopped @@ -43,7 +43,7 @@ services: networks: - management_internal volumes: - - ./ferret:/state + - /docker/management/ferret:/state environment: FERRETDB_POSTGRESQL_URL: postgres://${KOMODO_DB_USERNAME}:${KOMODO_DB_PASSWORD}@postgres:5432/postgres @@ -55,17 +55,17 @@ services: mem_reservation: "512m" #user: "1000:1000" env_file: - - ./.env + - /docker/management/.env ports: - "9120:9120" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /root/.ssh:/home/komodo/.ssh:ro - - ./komodo/config:/config - - ./komodo/backups:/backups - - ./komodo/core-etc:/etc/komodo - - ./komodo/var:/var/lib/komodo - - ./komodo/repo-cache:/repo-cache + - /docker/management/komodo/config:/config + - /docker/management/komodo/backups:/backups + - /docker/management/komodo/core-etc:/etc/komodo + - /docker/management/komodo/var:/var/lib/komodo + - /docker/management/komodo/repo-cache:/repo-cache - /docker:/docker environment: KOMODO_DATABASE_ADDRESS: ferretdb:27017 @@ -101,9 +101,9 @@ services: - management_internal volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - - ./wud/etc:/etc/wud - - ./wud/var:/var/lib/wud - - ./wud-db:/var/lib/wud/db + - /docker/management/wud/etc:/etc/wud + - /docker/management/wud/var:/var/lib/wud + - /docker/management/wud-db:/var/lib/wud/db environment: - WUD_AUTOUPDATE=false - TZ=America/Edmonton @@ -127,7 +127,7 @@ services: - POSTGRES_PASSWORD=${KOMODO_DB_PASSWORD} - POSTGRES_DB=gitea volumes: - - ./gitea-postgres/postgres:/var/lib/postgresql/data + - /docker/management/gitea-postgres/postgres:/var/lib/postgresql/data container_name: gitea-postgres labels: - "komodo.skip=true" @@ -147,8 +147,8 @@ services: - management_internal - gitea_external volumes: - - ./gitea:/data - - ./gitea-postgres:/var/lib/gitea + - /docker/management/gitea:/data + - /docker/management/gitea-postgres:/var/lib/gitea - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /docker:/docker diff --git a/manyfold/docker-compose.yml b/manyfold/docker-compose.yml index 5b74237..0f075e6 100644 --- a/manyfold/docker-compose.yml +++ b/manyfold/docker-compose.yml @@ -6,7 +6,7 @@ services: volumes: # Uncomment to add a volume where a database file should be created. # Don't change the part after the colon, it needs to be at /config - - ./config:/config + - /docker/manyfold/config:/config # Uncomment to add a filesystem volume for your model library (or multiple if # you want multiple libraries), in the form :. # The local path could be a folder that already contains models, in which case Manyfold diff --git a/mediaservices/docker-compose.yml b/mediaservices/docker-compose.yml index e301493..3b4ba47 100644 --- a/mediaservices/docker-compose.yml +++ b/mediaservices/docker-compose.yml @@ -17,8 +17,8 @@ services: - NVIDIA_DRIVER_CAPABILITIES=all - TRANSCODE_OPERATING_MODE=ram volumes: - - ./jellyfin/config:/config - - ./jellyfin/cache:/cache + - /docker/mediaservices/jellyfin/config:/config + - /docker/mediaservices/jellyfin/cache:/cache - /pool/music:/music - /pool/tv:/tv - /pool/movies:/movies @@ -68,7 +68,7 @@ services: soft: 65535 hard: 65535 volumes: - - ./plex:/config + - /docker/mediaservices/plex:/config - /pool/tv/library:/mnt/tv - /pool/movies/library:/mnt/movies - /pool/music/library:/mnt/music @@ -123,12 +123,12 @@ services: - /dev/shm:/tmp # Persistent Stash app data - - ./stash-db:/root/.stash - - ./stash/data/data:/data - - ./stash/data/metadata:/metadata - - ./stash/data/cache:/cache - - ./stash/data/blobs:/blobs - - ./stash/data/generated:/generated + - /docker/mediaservices/stash-db:/root/.stash + - /docker/mediaservices/stash/data/data:/data + - /docker/mediaservices/stash/data/metadata:/metadata + - /docker/mediaservices/stash/data/cache:/cache + - /docker/mediaservices/stash/data/blobs:/blobs + - /docker/mediaservices/stash/data/generated:/generated # Media mounts (your library) - /pool/other:/media diff --git a/monitoring/docker-compose.yml b/monitoring/docker-compose.yml index 15dd898..895edfb 100644 --- a/monitoring/docker-compose.yml +++ b/monitoring/docker-compose.yml @@ -5,9 +5,9 @@ services: ports: - "9090:9090" volumes: - - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro - - ./prometheus/alert_rules.yml:/etc/prometheus/alert_rules.yml:ro - - ./prometheus-db:/prometheus + - /docker/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro + - /docker/monitoring/prometheus/alert_rules.yml:/etc/prometheus/alert_rules.yml:ro + - /docker/monitoring/prometheus-db:/prometheus user: "1000:1000" restart: unless-stopped @@ -17,8 +17,8 @@ services: ports: - "9093:9093" volumes: - - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro - - ./alertmanager-db:/alertmanager + - /docker/monitoring/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro + - /docker/monitoring/alertmanager-db:/alertmanager user: "1000:1000" restart: unless-stopped @@ -52,10 +52,10 @@ services: ports: - "2999:3000" volumes: - - ./grafana:/etc/grafana - - ./grafana-db:/var/lib/grafana + - /docker/monitoring/grafana:/etc/grafana + - /docker/monitoring/grafana-db:/var/lib/grafana environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=changeme user: "1000:1000" - restart: unless-stopped + restart: unless-stopped \ No newline at end of file diff --git a/periphery/docker-compose.yml b/periphery/docker-compose.yml index d7dfbc0..c158b3e 100644 --- a/periphery/docker-compose.yml +++ b/periphery/docker-compose.yml @@ -16,4 +16,4 @@ services: - /var/run/docker.sock:/var/run/docker.sock - /root/.docker/config.json:/root/.docker/config.json:ro - /proc:/proc - - ./etc:/etc/komodo \ No newline at end of file + - /docker/periphery/etc:/etc/komodo \ No newline at end of file diff --git a/qbittorrent/docker-compose.yml b/qbittorrent/docker-compose.yml index 55b3d2e..0cb971a 100755 --- a/qbittorrent/docker-compose.yml +++ b/qbittorrent/docker-compose.yml @@ -51,7 +51,7 @@ services: - WEBUI_PORT=8080 - TORRENTING_PORT=30754 volumes: - - ./data:/config + - /docker/qbittorrent/data:/config - /pool/torrenting:/downloads - /pool/music:/mnt/music - /pool/tv:/mnt/tv diff --git a/rustdesk/docker-compose.yml b/rustdesk/docker-compose.yml index e9075f3..518b7ae 100644 --- a/rustdesk/docker-compose.yml +++ b/rustdesk/docker-compose.yml @@ -4,7 +4,7 @@ services: image: rustdesk/rustdesk-server:latest command: hbbs -r rustdesk.mapletree.email:21117 -k _ volumes: - - ./data:/root + - /docker/rustdesk/data:/root network_mode: host # REQUIRED for best performance/hole-punching environment: - KEY_PRIVATE=C+8aYs5uf3/Fl78CqcS5aRcl6DjTOfRAL4HVeDQnHiWsw+Zk84oIsmN2UFuw35OWUEYl3nL7mjiq08nt811i6g== @@ -16,7 +16,7 @@ services: image: rustdesk/rustdesk-server:latest command: hbbr -k _ volumes: - - ./data:/root + - /docker/rustdesk/data:/root network_mode: host # REQUIRED if hbbs is on host network environment: - KEY_PRIVATE=C+8aYs5uf3/Fl78CqcS5aRcl6DjTOfRAL4HVeDQnHiWsw+Zk84oIsmN2UFuw35OWUEYl3nL7mjiq08nt811i6g== diff --git a/servarr/docker-compose.yml b/servarr/docker-compose.yml index d0c261e..09fe2ab 100644 --- a/servarr/docker-compose.yml +++ b/servarr/docker-compose.yml @@ -7,7 +7,7 @@ services: - PGID=1000 # Replace with your group ID ##- TZ=America/New_York # Replace with your timezone volumes: - - /config:/config # Replace with your host path for config + - /docker/servarr/config:/config # Replace with your host path for config ##- /path/to/your/downloads:/downloads # Replace with your host path for downloads ports: - 9117:9117 @@ -39,7 +39,7 @@ services: - PGID=1000 volumes: - /etc/localtime:/etc/localtime:ro - - ./lidarr:/config + - /docker/servarr/lidarr:/config - /pool/music:/mnt/music - /mnt/SATA-22TB-host15/qbittorrent/completed:/q-completed - /mnt/SATA-22TB-host15/qbittorrent/downloads:/q-downloads @@ -61,7 +61,7 @@ services: - PGID=1000 volumes: - /etc/localtime:/etc/localtime:ro - - ./radarr:/config + - /docker/servarr/radarr:/config - /pool/movies:/mnt/movies - /mnt/SATA-22TB-host15/qbittorrent/downloads:/q-downloads - /mnt/SATA-22TB-host15/qbittorrent/completed:/q-completed @@ -83,7 +83,7 @@ services: - PGID=1000 volumes: - /etc/localtime:/etc/localtime:ro - - ./sonarr:/config + - /docker/servarr/sonarr:/config - /pool/tv:/mnt/tv - /mnt/SATA-22TB-host15/qbittorrent/downloads:/q-downloads - /mnt/SATA-22TB-host15/qbittorrent/completed:/q-completed @@ -103,7 +103,7 @@ services: - PGID=1000 volumes: - /etc/localtime:/etc/localtime:ro - - ./whisparr:/config + - /docker/servarr/whisparr:/config - /pool/other:/mnt/other - /mnt/SATA-22TB-host15/qbittorrent/downloads:/q-downloads - /mnt/SATA-22TB-host15/qbittorrent/completed:/q-completed @@ -121,7 +121,7 @@ services: - PGID=1000 volumes: - /etc/localtime:/etc/localtime:ro - - ./overseerr:/app/config + - /docker/servarr/overseerr:/app/config cpus: 2.0 mem_limit: "2048m" mem_reservation: "512m" diff --git a/smf/docker-compose.yml b/smf/docker-compose.yml index 72fa811..45aaab8 100755 --- a/smf/docker-compose.yml +++ b/smf/docker-compose.yml @@ -9,7 +9,7 @@ services: MYSQL_PASSWORD: wsc555 MYSQL_ROOT_PASSWORD: Pizzajam11 volumes: - - ./mysql:/var/lib/mysql + - /docker/smf/mysql:/var/lib/mysql #- /pool/smf/db_restore:/mnt/db_restore networks: - web @@ -32,7 +32,7 @@ services: DB_PASS: wsc555 SMF_SETTING_BOARDURL: "http://archive.westernsubaruclub.ca" volumes: - - ./smf_files:/var/www/html # mount the exported SMF folder + - /docker/smf/smf_files:/var/www/html # mount the exported SMF folder networks: - web user: 1000:1000 # should be owner of volumes diff --git a/smtp-relay/docker-compose.yml b/smtp-relay/docker-compose.yml index ac3f58c..498204b 100644 --- a/smtp-relay/docker-compose.yml +++ b/smtp-relay/docker-compose.yml @@ -21,4 +21,4 @@ services: volumes: # Optional: Persist the mail queue so you don't lose alerts if the container restarts - - ./queue:/var/spool/postfix + - /docker/smtp-relay/queue:/var/spool/postfix diff --git a/syncthing/docker-compose.yml b/syncthing/docker-compose.yml index 7788b03..9d47584 100644 --- a/syncthing/docker-compose.yml +++ b/syncthing/docker-compose.yml @@ -7,7 +7,7 @@ services: - syncthing volumes: #- /db1/syncthing:/var/syncthing-config - - ./:/var/syncthing + - /docker/syncthing:/var/syncthing labels: - "traefik.enable=true" - "traefik.http.routers.syncthing.rule=Host(`syncthing.mapletree.email`)" diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 1b1287f..b2483b6 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -25,8 +25,8 @@ - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - - "./letsencrypt:/letsencrypt" - - "./dynamic:/etc/traefik/dynamic" + - "/docker/traefik/letsencrypt:/letsencrypt" + - "/docker/traefik/dynamic:/etc/traefik/dynamic" networks: - web - request