ansible/roles/docker/templates/pi/compose.yaml

87 lines
2.6 KiB
YAML
Raw Normal View History

version: '3'
services:
traefik:
container_name: traefik
image: traefik:latest
restart: unless-stopped
networks:
compose_net: {}
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "{{ docker_dir }}/traefik/etc-traefik/traefik.yml:/etc/traefik/traefik.yml"
- "{{ docker_dir }}/traefik/var-log/traefik.log:/var/log/traefik.log"
- "{{ docker_dir }}/traefik/var-log/access.log:/var/log/traefik.log"
ports:
- 80:80
- 8080:8080
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`traefik.{{local_domain}}`)"
- "traefik.http.routers.traefik.entrypoints=web"
- "traefik.http.services.traefik.loadbalancer.server.port=80"
ddns-updater:
container_name: ddns-updater
image: "ghcr.io/qdm12/ddns-updater"
restart: unless-stopped
networks:
compose_net: {}
volumes:
- "{{ docker_dir }}/ddns-updater/data/:/updater/data/"
ports:
- 8000:8000/tcp
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
restart: unless-stopped
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "{{ docker_dir }}/home-assistant/config/:/config/"
privileged: true
network_mode: host
labels:
- "traefik.enable=true"
- "traefik.http.routers.homeassistant.rule=Host(`hass.{{local_domain}}`)"
- "traefik.http.routers.homeassistant.entrypoints=web"
- "traefik.http.services.homeassistant.loadbalancer.server.port=8123"
pihole:
container_name: pihole
image: pihole/pihole:latest
restart: unless-stopped
networks:
compose_net: {}
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "8089:80/tcp"
environment:
- "WEBPASSWORD={{ vault_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"
- "{{ docker_dir }}/pihole/etc-pihole/:/etc/pihole/"
- "{{ docker_dir }}/pihole/etc-dnsmasq.d/:/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.{{local_domain}}`)"
- "traefik.http.routers.pihole.entrypoints=web"
- "traefik.http.services.pihole.loadbalancer.server.port=8089"
networks:
compose_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.69.0/24
gateway: 172.16.69.1