Compare commits

...

5 Commits

Author SHA1 Message Date
PorridgePi
c3c6826fc8 traefik: feat: Add custom error pages 2022-09-26 02:06:46 +01:00
PorridgePi
aa44a7edf2 uptime-kuma: feat: Add docker support 2022-09-26 01:58:43 +01:00
PorridgePi
28df96cac8 pihole: feat: Add traefik reverse proxy 2022-09-26 01:58:20 +01:00
PorridgePi
d683f2a17b traefik: feat: Reverse proxy for homeassistant in host mode 2022-09-26 01:53:01 +01:00
PorridgePi
757a5e4f0c homeassistant: feat: Use host mode networking 2022-09-26 01:52:11 +01:00
5 changed files with 60 additions and 17 deletions

View File

@@ -1,9 +1,5 @@
version: "3.9" version: "3.9"
networks:
public:
external: true
services: services:
homeassistant: homeassistant:
image: "ghcr.io/home-assistant/home-assistant:stable" image: "ghcr.io/home-assistant/home-assistant:stable"
@@ -12,14 +8,4 @@ services:
volumes: volumes:
- "./homeassistant-config-data:/config" - "./homeassistant-config-data:/config"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"
# ports: network_mode: host
# - "8123:8123"
networks:
- public
labels:
- "traefik.enable=true"
- "traefik.http.routers.homeassistant.rule=Host(`${HOMEASSISTANT_DOMAIN}`)"
- "traefik.http.routers.homeassistant.service=homeassistant-service"
- "traefik.http.services.homeassistant-service.loadbalancer.server.port=8123"
- "traefik.http.routers.homeassistant.tls=true"
- "traefik.http.routers.homeassistant.tls.certresolver=le"

View File

@@ -1,6 +1,8 @@
version: "3.9" version: "3.9"
networks: networks:
public:
external: true
dns_net: dns_net:
name: dns_net name: dns_net
driver: bridge driver: bridge
@@ -16,9 +18,10 @@ services:
ports: ports:
- "53:53/tcp" - "53:53/tcp"
- "53:53/udp" - "53:53/udp"
- "8180:80/tcp" # - "8180:80/tcp"
hostname: pihole hostname: pihole
networks: networks:
public: {}
dns_net: dns_net:
ipv4_address: 172.20.0.10 ipv4_address: 172.20.0.10
environment: environment:
@@ -30,6 +33,18 @@ services:
volumes: volumes:
- "./pihole-data/:/etc/pihole/" - "./pihole-data/:/etc/pihole/"
- "./dnsmasq.d-data/:/etc/dnsmasq.d/" - "./dnsmasq.d-data/:/etc/dnsmasq.d/"
labels:
- "traefik.enable=true"
- "traefik.http.routers.pihole.rule=Host(`${PIHOLE_DOMAIN}`)"
- "traefik.http.routers.pihole.service=pihole-service"
- "traefik.http.services.pihole-service.loadbalancer.server.port=80"
- "traefik.http.routers.pihole.tls=true"
- "traefik.http.routers.pihole.tls.certresolver=le"
# - "traefik.http.middlewares.pihole-admin.addprefix.prefix=/admin"
- "traefik.http.middlewares.pihole-redirect.redirectregex.regex=^https://pihole.ykz.app/$$"
- "traefik.http.middlewares.pihole-redirect.redirectregex.replacement=https://pihole.ykz.app/admin"
- "traefik.http.middlewares.pihole-redirect.redirectregex.permanent=true"
- "traefik.http.routers.pihole.middlewares=pihole-redirect"
unbound: unbound:
image: mvance/unbound${IS_RPI}:latest image: mvance/unbound${IS_RPI}:latest

View File

@@ -54,4 +54,32 @@ services:
- "traefik.http.routers.dashboard.tls=true" - "traefik.http.routers.dashboard.tls=true"
- "traefik.http.routers.dashboard.tls.certresolver=le" - "traefik.http.routers.dashboard.tls.certresolver=le"
- "traefik.http.middlewares.dashboard-basicauth.basicauth.users=${BASIC_AUTH_CREDENTIALS}" - "traefik.http.middlewares.dashboard-basicauth.basicauth.users=${BASIC_AUTH_CREDENTIALS}"
- "traefik.http.routers.dashboard.middlewares=dashboard-basicauth@docker" - "traefik.http.routers.dashboard.middlewares=dashboard-basicauth,error-pages-middleware"
error-pages:
image: tarampampam/error-pages
container_name: error-pages
restart: always
environment:
TEMPLATE_NAME: lost-in-space
SHOW_DETAILS: true
labels:
traefik.enable: true
# use as "fallback" for any NON-registered services (with priority below normal)
traefik.http.routers.error-pages.rule: HostRegexp(`{host:.+}`) || Host(`error.ykz.app`)
traefik.http.routers.error-pages.priority: 10
# "errors" middleware settings
traefik.http.routers.error-pages.middlewares: error-pages-middleware
traefik.http.middlewares.error-pages-middleware.errors.status: 400-599
traefik.http.middlewares.error-pages-middleware.errors.service: error-pages-service
traefik.http.middlewares.error-pages-middleware.errors.query: /{status}.html
# define service properties
traefik.http.services.error-pages-service.loadbalancer.server.port: 8080
traefik.http.routers.error-pages.service: error-pages-service
traefik.http.routers.error-pages.tls: true
traefik.http.routers.error-pages.tls.certresolver: le
traefik.http.routers.traefik.middlewares: error-pages-middleware
networks:
- public
depends_on:
- traefik

View File

@@ -0,0 +1,13 @@
http:
routers:
homeassistant:
rule: "Host(`ha.ykz.app`)"
tls:
certResolver: le
service: homeassistant
services:
homeassistant:
loadBalancer:
servers:
- url: "http://192.168.2.200:8123"

View File

@@ -11,6 +11,7 @@ services:
restart: always restart: always
volumes: volumes:
- "./uptime-kuma-data:/app/data" - "./uptime-kuma-data:/app/data"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
# ports: # ports:
# - "3001:3001" # - "3001:3001"
networks: networks: