From ce8beec9df7ef4e9b1c29252d55dfc4369e84cd9 Mon Sep 17 00:00:00 2001 From: Pierre Guillod Date: Sun, 31 Mar 2024 16:10:44 +0200 Subject: [PATCH] add stateful config files --- .../conduit-nginx/matrix.conf | 19 +++++++++++ .../traefik/dynamic/homeassistant.yaml | 16 +++++++++ .../traefik/dynamic/kuma.yaml | 16 +++++++++ .../traefik/dynamic/leantime.yaml | 16 +++++++++ .../traefik/dynamic/n8n.yaml | 16 +++++++++ .../traefik/dynamic/nextcloud.yaml | 34 +++++++++++++++++++ .../traefik/dynamic/ntfy.yaml | 16 +++++++++ .../traefik/dynamic/woodpecker.yaml | 16 +++++++++ .../containers_storage/traefik/traefik.toml | 21 ++++++++++++ 9 files changed, 170 insertions(+) create mode 100644 stateful/containers_storage/conduit-nginx/matrix.conf create mode 100644 stateful/containers_storage/traefik/dynamic/homeassistant.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/kuma.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/leantime.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/n8n.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/nextcloud.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/ntfy.yaml create mode 100644 stateful/containers_storage/traefik/dynamic/woodpecker.yaml create mode 100644 stateful/containers_storage/traefik/traefik.toml diff --git a/stateful/containers_storage/conduit-nginx/matrix.conf b/stateful/containers_storage/conduit-nginx/matrix.conf new file mode 100644 index 0000000..81cb809 --- /dev/null +++ b/stateful/containers_storage/conduit-nginx/matrix.conf @@ -0,0 +1,19 @@ +server { + server_name matrix.slowte.ch; + listen 80 default_server; + + location /.well-known/matrix/server { + return 200 '{"m.server": "matrix.slowte.ch:443"}'; + types { } default_type "application/json; charset=utf-8"; + } + + location /.well-known/matrix/client { + return 200 '{"m.homeserver": {"base_url": "https://matrix.slowte.ch"}}'; + types { } default_type "application/json; charset=utf-8"; + add_header "Access-Control-Allow-Origin" *; + } + + location / { + return 404; + } +} diff --git a/stateful/containers_storage/traefik/dynamic/homeassistant.yaml b/stateful/containers_storage/traefik/dynamic/homeassistant.yaml new file mode 100644 index 0000000..dab9b19 --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/homeassistant.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-homeassistant-https: + rule: Host(`home.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-homeassistant + entryPoints: + - secure + - web + + services: + service-homeassistant: + loadBalancer: + servers: + - url: "http://haos.hydrogen.here:8123" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/kuma.yaml b/stateful/containers_storage/traefik/dynamic/kuma.yaml new file mode 100644 index 0000000..99f2a2b --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/kuma.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-uptimekuma-https: + rule: Host(`up.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-uptimekuma + entryPoints: + - secure + - web + + services: + service-uptimekuma: + loadBalancer: + servers: + - url: "http://haos.hydrogen.here:3001" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/leantime.yaml b/stateful/containers_storage/traefik/dynamic/leantime.yaml new file mode 100644 index 0000000..6bbecca --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/leantime.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-leantime-https: + rule: Host(`discover.leantime.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-leantime + entryPoints: + - secure + - web + + services: + service-leantime: + loadBalancer: + servers: + - url: "http://stateless.hydrogen.here:8002" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/n8n.yaml b/stateful/containers_storage/traefik/dynamic/n8n.yaml new file mode 100644 index 0000000..e7b9f3c --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/n8n.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-n8n-https: + rule: Host(`flows.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-n8n + entryPoints: + - secure + - web + + services: + service-n8n: + loadBalancer: + servers: + - url: "http://stateless.hydrogen.here:8001" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/nextcloud.yaml b/stateful/containers_storage/traefik/dynamic/nextcloud.yaml new file mode 100644 index 0000000..6d8e1d8 --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/nextcloud.yaml @@ -0,0 +1,34 @@ +http: + routers: + router-nextcloud-https: + rule: "Host(`cloud.slowte.ch`)" + entrypoints: + - "secure" + service: service-nextcloud + middlewares: + - nextcloud-chain + tls: + certresolver: "letsencrypt" + + services: + service-nextcloud: + loadBalancer: + servers: + - url: "http://nextcloud.hydrogen.here:11000" + + middlewares: + nextcloud-secure-headers: + headers: + hostsProxyHeaders: + - "X-Forwarded-Host" + referrerPolicy: "same-origin" + + https-redirect: + redirectscheme: + scheme: https + + nextcloud-chain: + chain: + middlewares: + - https-redirect + - nextcloud-secure-headers \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/ntfy.yaml b/stateful/containers_storage/traefik/dynamic/ntfy.yaml new file mode 100644 index 0000000..1583091 --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/ntfy.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-ntfy-https: + rule: Host(`dring.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-ntfy + entryPoints: + - secure + - web + + services: + service-ntfy: + loadBalancer: + servers: + - url: "http://stateless.hydrogen.here:8003" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/dynamic/woodpecker.yaml b/stateful/containers_storage/traefik/dynamic/woodpecker.yaml new file mode 100644 index 0000000..1178ede --- /dev/null +++ b/stateful/containers_storage/traefik/dynamic/woodpecker.yaml @@ -0,0 +1,16 @@ +http: + routers: + router-woodpecker-https: + rule: Host(`ci.slowte.ch`) + tls: + certResolver: letsencrypt + service: service-woodpecker + entryPoints: + - secure + - web + + services: + service-woodpecker: + loadBalancer: + servers: + - url: "http://stateless.hydrogen.here:8000" \ No newline at end of file diff --git a/stateful/containers_storage/traefik/traefik.toml b/stateful/containers_storage/traefik/traefik.toml new file mode 100644 index 0000000..92a942d --- /dev/null +++ b/stateful/containers_storage/traefik/traefik.toml @@ -0,0 +1,21 @@ +[entryPoints] + [entryPoints.web] + address = ":80" + [entryPoints.secure] + address = ":443" + +[providers] + [providers.file] + directory = "/etc/traefik/dynamic" + [providers.docker] + exposedByDefault = false + +[api] + insecure = true + dashboard = true + +[certificatesResolvers.letsencrypt.acme] + email = "$ACME_EMAIL" + storage = "/etc/traefik/acme.json" + [certificatesResolvers.letsencrypt.acme.httpChallenge] + entryPoint = "web" \ No newline at end of file