Files
jeremy a908973264 infra: rongorongo state-sync backend + Traefik basicAuth
Add a Flask backend service for cross-device state persistence, storing
JSON state on an NFS volume at /mnt/docker-data/configs/rongorongo/data.
Frontend Dockerfile/nginx.conf reorganised into frontend/ subdirectory;
frontend API calls now route to /api/* handled by the backend container
over a dedicated bridge network. Traefik basicAuth middleware added to
the public URL with the bcrypt hash deliberately kept out of git
(REPLACE_AT_DEPLOY placeholder in rongorongo.yml). Prometheus probe moved
from https-external to internal http://192.168.86.192:8181/health to
bypass the new auth wall.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:51:47 -05:00

36 lines
864 B
YAML

http:
routers:
rongorongo:
rule: "Host(`rongorongo.hobbs.farm`)"
entryPoints:
- websecure
middlewares:
- rongorongo-auth
- security-headers
service: rongorongo
tls:
certResolver: letsencrypt
rongorongo-http:
rule: "Host(`rongorongo.hobbs.farm`)"
entryPoints:
- web
middlewares:
- rongorongo-https-redirect
service: rongorongo
middlewares:
rongorongo-https-redirect:
redirectScheme:
scheme: https
permanent: true
rongorongo-auth:
basicAuth:
realm: "rongorongo.hobbs.farm"
# users entries are appended at deploy time as: <user>:<bcrypt-hash>
users:
- "REPLACE_AT_DEPLOY"
services:
rongorongo:
loadBalancer:
servers:
- url: "http://192.168.86.192:8181"