Dotfiles/setup
Amir Alexander Abdelbaki be757fda5a feat(ansipa): nginx gateway — reverse proxy + portal start-page
Add an nginx service that fronts all three web UIs on a single hostname/port
and serves a portal landing page, designed to sit behind the operator's own
TLS-terminating reverse proxy.

- Each backend is proxied at the path it already serves natively — FreeIPA
  /ipa, CheckMK /cmk, Keycloak under a configured /auth relative path — so no
  fragile path rewriting is needed and one upstream proxy line exposes
  everything. FreeIPA's strict Host/Referer anti-CSRF checks are satisfied by
  pinning Host to the IPA hostname and rewriting Referer.
- Honors incoming X-Forwarded-Proto/For so it works behind a second reverse
  proxy (double-proxy verified: portal, FreeIPA, CheckMK and Keycloak all
  reachable through two layers, and a CheckMK login POST completes to an
  authenticated session through the gateway).
- Keycloak: KC_HTTP_RELATIVE_PATH=/auth + KC_PROXY_HEADERS=xforwarded so it
  builds correct URLs behind the gateway; deliberately not forwarding
  X-Forwarded-Port (this gateway is :80 internally; the public port is the
  upstream proxy's) to avoid https://host:80 redirects.
- .env.example documents ANSIPA_HTTP_PORT and gives the exact upstream
  reverse-proxy snippet (nginx location block + Caddy one-liner).

Portal is a static cyberqueer-themed page linking to /ipa/ui/, /cmk/, /auth/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUhrcFU8J1Hnf7vNqNxZNi
2026-07-02 12:36:28 +02:00
..
Setup-shell-4-containers setup: housekeeping — rename, deprecate, fix refs 2026-05-11 15:02:25 +02:00
archiso fix(installer): keyring race, unattended password, EFI fallback, rebuild cleanup 2026-07-02 11:27:27 +02:00
deprecated privacy: remove hardcoded username and AWS signed URL 2026-05-12 14:17:48 +02:00
modules feat(ansipa): nginx gateway — reverse proxy + portal start-page 2026-07-02 12:36:28 +02:00
tools feat(tools): add proxmox-lxc-gen.sh — TUI wizard for LXC containers 2026-07-01 18:55:59 +02:00
arch-autoinstall.sh fix(installer): keyring race, unattended password, EFI fallback, rebuild cleanup 2026-07-02 11:27:27 +02:00
archbaseos-guided-install.sh fix(installer): keyring race, unattended password, EFI fallback, rebuild cleanup 2026-07-02 11:27:27 +02:00
audit-packages.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
generate-answerfile.sh feat(installer): allow user/LUKS passwords to be set via the answerfile 2026-06-27 01:43:17 +02:00
install-modules.sh feat(plymouth): add custom-logo variant, sync answerfile + docs 2026-06-26 10:57:32 +02:00
install.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
modules.conf feat(modules): enable timeshift, ffmpeg, imagemagick, sox, yt-dlp, inkscape by default 2026-06-26 19:32:13 +02:00
reset-arch.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
simple-install.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
tui-install.sh fix(installer): make the unattended module path non-interactive 2026-06-27 01:15:43 +02:00