diff options
| author | Robert Günzler <r@gnzler.io> | 2025-09-07 17:32:13 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2025-09-07 17:42:42 +0200 |
| commit | 38be6c13f76e893cf47636257071b440dec0c5b2 (patch) | |
| tree | f7ded3235a7e3362cbd1ed3d91523968fe0faf90 /bundles/doyouhavewifi | |
initial commit
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/doyouhavewifi')
| -rw-r--r-- | bundles/doyouhavewifi/files/Caddyfile | 46 | ||||
| -rw-r--r-- | bundles/doyouhavewifi/files/doyouhavewifi.conf | 1 | ||||
| -rw-r--r-- | bundles/doyouhavewifi/files/traefik.yaml | 18 | ||||
| -rw-r--r-- | bundles/doyouhavewifi/items.py | 29 | ||||
| -rw-r--r-- | bundles/doyouhavewifi/metadata.py | 5 |
5 files changed, 99 insertions, 0 deletions
diff --git a/bundles/doyouhavewifi/files/Caddyfile b/bundles/doyouhavewifi/files/Caddyfile new file mode 100644 index 0000000..b7a57fe --- /dev/null +++ b/bundles/doyouhavewifi/files/Caddyfile @@ -0,0 +1,46 @@ +{ + admin off + auto_https off + http_port {$CADDY_HTTP_PORT:1414} +} + +(external_redirects) { +} + +(internal_redirects) { + redir /.well-known/security.txt /security.txt + redir /.well-known/humans.txt /humans.txt + redir /.well-known/robots.txt /robots.txt +} + +http:// { + root * ./public + + encode zstd gzip + file_server + + import external_redirects + import internal_redirects + + respond /healthz 200 + + log { + format filter { + wrap console { + time_format wall_milli + level_format color + } + fields { + common_log delete + request>headers>Accept-Encoding delete + request>headers>Accept-Language delete + request>headers>Connection delete + request>headers>Authorization delete + request>remote_addr ip_mask { + ipv4 24 + ipv6 32 + } + } + } + } +} diff --git a/bundles/doyouhavewifi/files/doyouhavewifi.conf b/bundles/doyouhavewifi/files/doyouhavewifi.conf new file mode 100644 index 0000000..66fea31 --- /dev/null +++ b/bundles/doyouhavewifi/files/doyouhavewifi.conf @@ -0,0 +1 @@ +www_port=${node.metadata.get("www/doyouhavewifi/port")} diff --git a/bundles/doyouhavewifi/files/traefik.yaml b/bundles/doyouhavewifi/files/traefik.yaml new file mode 100644 index 0000000..f9a2850 --- /dev/null +++ b/bundles/doyouhavewifi/files/traefik.yaml @@ -0,0 +1,18 @@ +http: + services: + doyouhavewifi: + loadBalancer: + servers: + - url: http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("www/doyouhavewifi/port")} + + routers: + doyouhavewifi: + rule: Host(`doyouhavewifi.gzr.im`) + entryPoints: + - http + - https + service: doyouhavewifi + middlewares: + - tls-redirect@file + tls: + certResolver: le diff --git a/bundles/doyouhavewifi/items.py b/bundles/doyouhavewifi/items.py new file mode 100644 index 0000000..460693a --- /dev/null +++ b/bundles/doyouhavewifi/items.py @@ -0,0 +1,29 @@ +directories = { + "/var/www/doyouhavewifi": { + "mode": "0775", + "group": "www-data", + "owner": "webdeploy", + }, + "/var/www/doyouhavewifi/public": { + "mode": "0775", + "group": "www-data", + "owner": "webdeploy", + }, +} + +files = { + "/etc/traefik/doyouhavewifi.yaml": { + "content_type": "mako", + "source": "traefik.yaml", + "needs": { + "bundle:traefik", + }, + }, + "/var/www/doyouhavewifi/Caddyfile": { + "content_type": "mako", + "source": "Caddyfile", + }, + "/etc/s6-rc/doyouhavewifi.conf": { + "content_type": "mako", + }, +} diff --git a/bundles/doyouhavewifi/metadata.py b/bundles/doyouhavewifi/metadata.py new file mode 100644 index 0000000..402491e --- /dev/null +++ b/bundles/doyouhavewifi/metadata.py @@ -0,0 +1,5 @@ +defaults = { + "www": { + "doyouhavewifi": {}, + }, +} |