Added working traefik configuration/labels for containers

Added new host 'mii'
Added uptime kuma in docker

Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>
This commit is contained in:
TuDatTr
2023-04-13 18:43:32 +02:00
parent f3254d5b79
commit 7cd43fb8a8
25 changed files with 605 additions and 152 deletions

View File

@@ -3,42 +3,37 @@ services:
traefik:
container_name: traefik
image: traefik:latest
restart: unless-stopped
restart: always
networks:
net: {}
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "{{ traefik_etc }}/traefik.yml:/etc/traefik/traefik.yml"
- "{{ traefik_var }}/traefik.log:/var/log/traefik.log"
- "{{ traefik_var }}/access.log:/var/log/traefik.log"
- "{{ traefik_config }}:/etc/traefik/"
- "{{ traefik_data }}:/var/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"
- "{{ traefik_user_port }}:80"
- "{{ traefik_admin_port }}:8080"
ddns-updater:
container_name: ddns-updater
image: "ghcr.io/qdm12/ddns-updater"
restart: unless-stopped
restart: always
networks:
net: {}
volumes:
- "{{ ddns_updater_data }}:/updater/data/"
- "{{ ddns_data }}:/updater/data/"
ports:
- 8000:8000/tcp
- "{{ ddns_port }}:8000/tcp"
labels:
- "traefik.enable=true"
- "traefik.http.routers.homeassistant.rule=Host(`ddns.{{local_domain}}`)"
- "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
restart: always
networks:
net: {}
volumes:
@@ -46,27 +41,26 @@ services:
- "{{ ha_config }}:/config/"
privileged: true
ports:
- 8123:8123
- "{{ ha_port }}:8123"
- 4357:4357
- 5683:5683
- 5683:5683/udp
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"
- "traefik.http.routers.homeassistant.rule=Host(`{{ ha_host }}.{{ pi_host }}.{{ local_domain }}`)"
- "traefik.http.services.homeassistant.loadbalancer.server.port={{ ha_port }}"
pihole:
container_name: pihole
image: pihole/pihole:latest
restart: unless-stopped
restart: always
networks:
net: {}
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "8089:80/tcp"
- "{{ pihole_port }}:80/tcp"
environment:
- "WEBPASSWORD={{ vault_pi_pihole_password }}"
- "ServerIP=192.168.20.11"
@@ -75,7 +69,7 @@ services:
- "DNS1=1.0.0.1"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "{{ pihole_pihole }}:/etc/pihole/"
- "{{ pihole_config }}:/etc/pihole/"
- "{{ pihole_dnsmasq }}:/etc/dnsmasq.d/"
dns:
- 127.0.0.1
@@ -84,9 +78,8 @@ services:
- NET_ADMIN
labels:
- "traefik.enable=true"
- "traefik.http.routers.pihole.rule=Host(`pipihole.{{local_domain}}`)"
# - "traefik.http.routers.pihole.entrypoints=web"
# - "traefik.http.services.pihole.loadbalancer.server.port=8089"
- "traefik.http.routers.pihole.rule=Host(`{{ pihole_host }}.{{ pi_host }}.{{ local_domain }}`)"
- "traefik.http.services.pihole.loadbalancer.server.port={{ 80 }}"
networks:
net:

View File

@@ -1,31 +1,11 @@
{
"settings": [
{
"provider": "namecheap",
"domain": "tudattr.dev",
"host": "@",
"password": "{{ vault_ddns_tudattrdev_password }}",
"provider_ip": true
}, {
"provider": "namecheap",
"domain": "tudattr.dev",
"host": "www",
"password": "{{ vault_ddns_tudattrdev_password }}",
"provider_ip": true
},
{
"provider": "namecheap",
"domain": "tudattr.dev",
"host": "plex",
"password": "{{ vault_ddns_tudattrdev_password }}",
"provider_ip": true
},
{
"provider": "namecheap",
"domain": "borg.land",
"host": "@",
"password": "{{ vault_ddns_borgland_password }}",
"provider_ip": true
"provider": "namecheap",
"domain": "borg.land",
"host": "@",
"password": "{{ vault_ddns_borgland_password }}",
"provider_ip": true
}
]
}

View File

@@ -1,25 +0,0 @@
## 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"