95 lines
2.5 KiB
YAML
95 lines
2.5 KiB
YAML
version: '3'
|
|
services:
|
|
traefik:
|
|
container_name: traefik
|
|
image: traefik:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
net: {}
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "{{ traefik_config }}:/etc/traefik/"
|
|
- "{{ traefik_data }}:/var/log/"
|
|
ports:
|
|
- "{{ traefik_user_port }}:80"
|
|
- "{{ traefik_admin_port }}:8080"
|
|
pihole:
|
|
container_name: pihole
|
|
image: pihole/pihole:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
net: {}
|
|
ports:
|
|
- "53:53/tcp"
|
|
- "53:53/udp"
|
|
- "67:67/udp"
|
|
- "{{ pihole_port }}:80/tcp"
|
|
environment:
|
|
- "WEBPASSWORD={{ vault_pi_pihole_password }}"
|
|
- "ServerIP=192.168.20.11"
|
|
- "INTERFACE=eth0"
|
|
- "DNS1=1.1.1.1"
|
|
- "DNS1=1.0.0.1"
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ pihole_config }}:/etc/pihole/"
|
|
- "{{ pihole_dnsmasq }}:/etc/dnsmasq.d/"
|
|
dns:
|
|
- 127.0.0.1
|
|
- 1.1.1.1
|
|
cap_add:
|
|
- NET_ADMIN
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.pihole.rule=Host(`{{ pihole_host }}.{{ pi_host }}.{{ local_domain }}`)"
|
|
- "traefik.http.services.pihole.loadbalancer.server.port={{ 80 }}"
|
|
|
|
ddns-updater:
|
|
container_name: ddns-updater
|
|
image: "ghcr.io/qdm12/ddns-updater"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pihole
|
|
networks:
|
|
net: {}
|
|
volumes:
|
|
- "{{ ddns_data }}:/updater/data/"
|
|
ports:
|
|
- "{{ ddns_port }}:8000/tcp"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.ddns-updater.rule=Host(`{{ ddns_host }}.{{ pi_host }}.{{local_domain}}`)"
|
|
- "traefik.http.services.ddns-updater.loadbalancer.server.port={{ ddns_port }}"
|
|
|
|
homeassistant:
|
|
container_name: homeassistant
|
|
image: "ghcr.io/home-assistant/home-assistant:stable"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pihole
|
|
networks:
|
|
net: {}
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ ha_config }}:/config/"
|
|
privileged: true
|
|
ports:
|
|
- "{{ ha_port }}:8123"
|
|
- 4357:4357
|
|
- 5683:5683
|
|
- 5683:5683/udp
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.homeassistant.rule=Host(`{{ ha_host }}.{{ pi_host }}.{{ local_domain }}`)"
|
|
- "traefik.http.services.homeassistant.loadbalancer.server.port={{ ha_port }}"
|
|
|
|
networks:
|
|
net:
|
|
driver: bridge
|
|
ipam:
|
|
# driver: default
|
|
config:
|
|
- subnet: 172.16.69.0/24
|
|
gateway: 172.16.69.1
|