91 lines
2.1 KiB
YAML
91 lines
2.1 KiB
YAML
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
|