version: "3.7" services: mqtt: image: eclipse-mosquitto container_name: mqtt restart: unless-stopped ports: - "1883:1883" - "8883:8883" dns: - 192.168.1.1 volumes: - mosquitto_config:/mosquitto/config - mosquitto_data:/mosquitto/data pihole: image: pihole/pihole:latest container_name: pihole ports: - "53:53" - "53:53/udp" networks: - connector environment: TZ: 'America/New_York' WEBPASSWORD: pass VIRTUAL_HOST: pihole.olympus.sherman.one volumes: - 'pihole-etc:/etc/pihole/' - 'pihole-dnsmasq:/etc/dnsmasq.d/' dns: - 127.0.0.1 - 1.1.1.1 restart: unless-stopped labels: - "traefik.http.routers.pihole.rule=Host(`pihole.olympus.sherman.one`)" - "traefik.http.services.pihole.loadbalancer.server.port=80" traefik: image: traefik container_name: traefik restart: unless-stopped networks: - connector ports: - "80:80" - "443:443" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - traefik_config:/etc/traefik environment: CF_DNS_API_TOKEN: 2a6MNiw5LEwd35at7ZzLdIpDvIk98VM6HGHUkH6Y dns: - 192.168.1.1 labels: - "traefik.http.routers.traefik.rule=Host(`traefik.olympus.sherman.one`)" - "traefik.http.services.traefik.loadbalancer.server.port=8080" volumes: mosquitto_config: driver_opts: type: btrfs o: rw,noatime,compress=zstd,subvol=@config/mosquitto device: /dev/sdc mosquitto_data: driver_opts: type: btrfs o: rw,noatime,compress=zstd,subvol=@data/mosquitto device: /dev/sdc pihole-etc: driver_opts: type: btrfs o: rw,noatime,compress=zstd,subvol=@config/pihole device: /dev/sdc pihole-dnsmasq: driver_opts: type: btrfs o: rw,noatime,compress=zstd,subvol=@data/pihole device: /dev/sdc traefik_config: driver_opts: type: btrfs o: rw,noatime,compress=zstd,subvol=@config/traefik device: /dev/sdc networks: connector: name: connector