managarten/docs/CLOUDFLARE_DOMAINS.md
Till JS 1f35206433 docs: update Cloudflare domains guide and tech independence roadmap
CLOUDFLARE_DOMAINS.md: Complete rewrite for self-hosted landing architecture
- Document DNS migration from CF Pages to Tunnel (step-by-step)
- List all 30+ domains with their routing (Apps, Landings, Services)
- Tunnel CNAME for 10 new landing domains to create
- Process for adding new landing pages

TECH_STACK_INDEPENDENCE.md: Mark Prio 4, 6, 8 as completed
- Prio 4: PostgreSQL backup (hourly dumps + daily base backups)
- Prio 6: Landing pages self-hosted (Nginx on port 4400)
- Prio 8: Cloudflare fallback documented (WireGuard + Caddy)
- Update self-hosted percentage: 80% → ~85%
- Remaining: Prio 5 (email), 7 (vision models), 9 (redundancy)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 12:42:55 +01:00

5.6 KiB

Cloudflare DNS — Domains & Konfiguration

Stand: 2026-03-24

Ausstehende Aktionen im Cloudflare Dashboard

Landing Pages auf Tunnel umstellen

Landing Pages laufen jetzt self-hosted via Nginx auf dem Mac Mini (Port 4400). Die DNS-Records müssen von Cloudflare Pages auf den Cloudflare Tunnel umgestellt werden.

Tunnel-ID: bb0ea86d-8253-4a54-838b-107bb7945be9

Im Cloudflare Dashboard → DNS → mana.how:

Für jede Domain: CNAME Record hinzufügen (oder bestehenden ändern), Proxied (orange Wolke):

Domain Typ Wert Status
it CNAME bb0ea86d-8253-4a54-838b-107bb7945be9.cfargotunnel.com Neu erstellen
citycorners CNAME bb0ea86d-8253-4a54-838b-107bb7945be9.cfargotunnel.com Neu erstellen
nutriphi CNAME bb0ea86d-8253-4a54-838b-107bb7945be9.cfargotunnel.com Neu erstellen
manadeck CNAME bb0ea86d-8253-4a54-838b-107bb7945be9.cfargotunnel.com Neu erstellen
docs CNAME bb0ea86d-8253-4a54-838b-107bb7945be9.cfargotunnel.com Neu erstellen

Für bestehende Landing-Domains (aktuell auf CF Pages):

Diese Domains zeigen noch auf Cloudflare Pages. Um sie auf Self-Hosted umzustellen:

  1. Pages → [Projekt] → Custom domains → Remove (Domain vom Pages-Projekt entfernen)
  2. DNS → CNAME auf Tunnel-ID ändern (wie oben)
Domain Aktuell Umstellen auf
chats.mana.how CF Pages (chat-landing) Tunnel → localhost:4400
pics.mana.how CF Pages (picture-landing) Tunnel → localhost:4400
zitares.mana.how CF Pages (zitare-landing) Tunnel → localhost:4400
presis.mana.how CF Pages (presi-landing) Tunnel → localhost:4400
clocks.mana.how CF Pages (clocks-landing) Tunnel → localhost:4400

Hinweis: Die Umstellung kann schrittweise erfolgen — erst neue Domains, dann bestehende migrieren.

Reihenfolge

  1. Zuerst: Neue Domains erstellen (it, citycorners, nutriphi, manadeck, docs)
  2. Danach: Bestehende Landing-Domains von Pages auf Tunnel migrieren (eine nach der anderen, testen)
  3. Zuletzt: Alte CF Pages Projekte löschen (optional, kosten nichts)

Architektur

Internet
    │
    ▼
Cloudflare DNS (*.mana.how)
    │
    ▼
Cloudflare Tunnel (bb0ea86d...)
    │
    ├── Apps (Web + API):  chat.mana.how → localhost:5010
    ├── Services:          auth.mana.how → localhost:3001
    ├── Landing Pages:     it.mana.how   → localhost:4400 (Nginx)
    ├── Monitoring:        grafana.mana.how → localhost:8000
    └── Matrix:            matrix.mana.how → localhost:4000

Nginx Landing Container (mana-infra-landings, Port 4400):

  • Routet nach Host-Header zu verschiedenen dist/-Ordnern
  • Config: docker/nginx/landings.conf
  • Daten: /Volumes/ManaData/landings/{name}/
  • Build: ./scripts/mac-mini/build-landings.sh

Alle Domains

Apps (via Tunnel → Docker Container)

Domain Service Port
mana.how Dashboard Web 5000
auth.mana.how Auth API 3001
chat.mana.how Chat Web 5010
chat-api.mana.how Chat API 3030
todo.mana.how Todo Web 5011
todo-api.mana.how Todo API 3031
calendar.mana.how Calendar Web 5012
calendar-api.mana.how Calendar API 3032
clock.mana.how Clock Web 5013
clock-api.mana.how Clock API 3033
contacts.mana.how Contacts Web 5014
contacts-api.mana.how Contacts API 3034
storage.mana.how Storage Web 5015
storage-api.mana.how Storage API 3035
presi.mana.how Presi Web 5016
nutriphi.mana.how NutriPhi Web 5017
photos.mana.how Photos Web 5019
mukke.mana.how Mukke Web 5180
picture.mana.how Picture Web 5021
playground.mana.how LLM Playground 5090

Landing Pages (via Tunnel → Nginx 4400)

Domain Landing Nginx Root
it.mana.how IT Souveränität /srv/landings/it
chats.mana.how Chat Landing /srv/landings/chat
pics.mana.how Picture Landing /srv/landings/picture
zitares.mana.how Zitare Landing /srv/landings/zitare
presis.mana.how Presi Landing /srv/landings/presi
clocks.mana.how Clock Landing /srv/landings/clock
manadeck.mana.how ManaDeck Landing /srv/landings/manadeck
nutriphi.mana.how NutriPhi Landing /srv/landings/nutriphi
citycorners.mana.how CityCorners Landing /srv/landings/citycorners
docs.mana.how Dokumentation /srv/landings/docs

Services & Monitoring (via Tunnel)

Domain Service Port
matrix.mana.how Matrix Synapse 4000
element.mana.how Element Web 4080
link.mana.how Matrix Link 4090
grafana.mana.how Grafana 8000
stats.mana.how Umami Analytics 8010
glitchtip.mana.how GlitchTip Errors 8020
ssh.mana.how SSH Access 22

Landing Pages deployen

# Alle Landings bauen und nach /Volumes/ManaData/landings/ kopieren
./scripts/mac-mini/build-landings.sh

# Nginx neuladen
docker restart mana-infra-landings

Neue Landing Page hinzufügen

  1. Landing erstellen (Astro in apps/{app}/apps/landing/ oder services/{name}/)
  2. Build-Script (scripts/mac-mini/build-landings.sh) erweitern
  3. Nginx Server-Block in docker/nginx/landings.conf hinzufügen
  4. Cloudflare Tunnel Ingress in cloudflared-config.yml hinzufügen
  5. DNS CNAME im Cloudflare Dashboard erstellen
  6. Bauen, deployen, cloudflared neustarten