diff --git a/stacks/ddns/ddns.env.example b/stacks/ddns/ddns.env.example new file mode 100644 index 0000000..396ebdf --- /dev/null +++ b/stacks/ddns/ddns.env.example @@ -0,0 +1 @@ +API_TOKEN=secret diff --git a/stacks/ddns/ddns.yml b/stacks/ddns/ddns.yml new file mode 100644 index 0000000..24b458d --- /dev/null +++ b/stacks/ddns/ddns.yml @@ -0,0 +1,12 @@ +services: + cloudflare-ddns: + image: favonia/cloudflare-ddns:latest + restart: always + user: "1000:1000" + read_only: true + cap_drop: [all] + security_opt: [no-new-privileges:true] + environment: + CLOUDFLARE_API_TOKEN: ${API_TOKEN} + DOMAINS: direct.skrd.fun + PROXIED: false diff --git a/stacks/traefik/dynamic/home-assistant.yml b/stacks/traefik/dynamic/home-assistant.yml new file mode 100644 index 0000000..2ba48ca --- /dev/null +++ b/stacks/traefik/dynamic/home-assistant.yml @@ -0,0 +1,28 @@ +http: + routers: + home-assistant-web: + rule: Host(`haos.skrd.fun`) + entryPoints: + - web + middlewares: + - local-only + - redirect-to-https + service: noop + home-assistant: + rule: Host(`haos.skrd.fun`) + entryPoints: + - websecure + service: home-assistant-svc + tls: + certResolver: cf + middlewares: + - local-only + services: + home-assistant-svc: + loadBalancer: + servers: + - url: "http://192.168.3.6:8123" + noop: + loadBalancer: + servers: + - url: "http://0.0.0.0" diff --git a/stacks/traefik/dynamic/komodo.yml b/stacks/traefik/dynamic/komodo.yml index ec0ef76..5c4d7af 100644 --- a/stacks/traefik/dynamic/komodo.yml +++ b/stacks/traefik/dynamic/komodo.yml @@ -1,5 +1,13 @@ http: routers: + komodo-web: + rule: Host(`komodo.skrd.fun`) + entryPoints: + - web + middlewares: + - local-only + - redirect-to-https + service: noop komodo: rule: Host(`komodo.skrd.fun`) entryPoints: @@ -14,3 +22,7 @@ http: loadBalancer: servers: - url: "http://192.168.102.1:9120" + noop: + loadBalancer: + servers: + - url: "http://0.0.0.0" diff --git a/stacks/traefik/dynamic/middlewares.yml b/stacks/traefik/dynamic/middlewares.yml index 787f3fc..dfcf72b 100644 --- a/stacks/traefik/dynamic/middlewares.yml +++ b/stacks/traefik/dynamic/middlewares.yml @@ -10,3 +10,7 @@ http: redirectScheme: scheme: https permanent: true + pihole-rewrite: + replacePathRegex: + regex: ^/$ + replacement: /admin/ diff --git a/stacks/traefik/dynamic/omv.yml b/stacks/traefik/dynamic/omv.yml new file mode 100644 index 0000000..7c01934 --- /dev/null +++ b/stacks/traefik/dynamic/omv.yml @@ -0,0 +1,28 @@ +http: + routers: + omv-web: + rule: Host(`omv.skrd.fun`) + entryPoints: + - web + middlewares: + - local-only + - redirect-to-https + service: noop + omv: + rule: Host(`omv.skrd.fun`) + entryPoints: + - websecure + service: omv-svc + tls: + certResolver: cf + middlewares: + - local-only + services: + omv-svc: + loadBalancer: + servers: + - url: "http://192.168.102.1:3000" + noop: + loadBalancer: + servers: + - url: "http://0.0.0.0" diff --git a/stacks/traefik/dynamic/pihole.yml b/stacks/traefik/dynamic/pihole.yml new file mode 100644 index 0000000..1a7549e --- /dev/null +++ b/stacks/traefik/dynamic/pihole.yml @@ -0,0 +1,29 @@ +http: + routers: + pihole-web: + rule: Host(`pihole.skrd.fun`) + entryPoints: + - web + middlewares: + - local-only + - redirect-to-https + service: noop + pihole: + rule: Host(`pihole.skrd.fun`) + entryPoints: + - websecure + service: pihole-svc + tls: + certResolver: cf + middlewares: + - local-only + - pihole-rewrite + services: + pihole-svc: + loadBalancer: + servers: + - url: "http://192.168.3.1:80" + noop: + loadBalancer: + servers: + - url: "http://0.0.0.0"