Added docker for aya01 and pi
changed password names Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>
This commit is contained in:
86
roles/docker/templates/pi/compose.yaml
Normal file
86
roles/docker/templates/pi/compose.yaml
Normal file
@@ -0,0 +1,86 @@
|
||||
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
|
||||
31
roles/docker/templates/pi/ddns-updater/data/config.json
Normal file
31
roles/docker/templates/pi/ddns-updater/data/config.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"settings": [
|
||||
{
|
||||
"provider": "namecheap",
|
||||
"domain": "tudattr.dev",
|
||||
"host": "@",
|
||||
"password": "f12ffc0d94dd4bbdb862fcf2c0bed864",
|
||||
"provider_ip": true
|
||||
}, {
|
||||
"provider": "namecheap",
|
||||
"domain": "tudattr.dev",
|
||||
"host": "www",
|
||||
"password": "f12ffc0d94dd4bbdb862fcf2c0bed864",
|
||||
"provider_ip": true
|
||||
},
|
||||
{
|
||||
"provider": "namecheap",
|
||||
"domain": "tudattr.dev",
|
||||
"host": "plex",
|
||||
"password": "f12ffc0d94dd4bbdb862fcf2c0bed864",
|
||||
"provider_ip": true
|
||||
},
|
||||
{
|
||||
"provider": "namecheap",
|
||||
"domain": "borg.land",
|
||||
"host": "@",
|
||||
"password": "aae80116bf684d4abbadbbb37b36d391",
|
||||
"provider_ip": true
|
||||
}
|
||||
]
|
||||
}
|
||||
25
roles/docker/templates/pi/traefik/etc-traefik/traefik.yml
Normal file
25
roles/docker/templates/pi/traefik/etc-traefik/traefik.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
## traefik.yml
|
||||
# Entry Points
|
||||
entryPoints:
|
||||
web:
|
||||
address: ":80"
|
||||
websecure:
|
||||
address: ":443"
|
||||
|
||||
# Docker configuration backend
|
||||
providers:
|
||||
docker:
|
||||
exposedByDefault: false
|
||||
network: compose_net
|
||||
defaultRule: "Host(`{{ '{{' }} trimPrefix `/` .Name {{ '}}' }}.{{ local_domain }}`)"
|
||||
|
||||
# API and dashboard configuration
|
||||
api:
|
||||
insecure: true
|
||||
dashboard: true
|
||||
|
||||
log:
|
||||
filePath: "/var/log/traefik.log"
|
||||
|
||||
accessLog:
|
||||
filePath: "/var/log/access.log"
|
||||
Reference in New Issue
Block a user