Cloudflared
Der einzige Außen-Tunnel — auf dem Mac Mini stehen null Ports offen, alle Anfragen kommen verschlüsselt durch den Tunnel rein.
Es gibt keinen einzigen offenen Port auf mana-server. Keine 443, keine 80, keine 22 von außen. Stattdessen läuft ein Cloudflared-Daemon auf der Maschine, der eine ausgehende Verbindung zu Cloudflare aufbaut und Anfragen rückwärts durch diesen Tunnel zustellt.
Warum nicht offene Ports? Weil jede offene Port-Definition eine laufende Wartungsaufgabe ist (Firewall-Regeln, Fail2Ban, DDoS-Mitigation, TLS-Cert-Renewal). Der Tunnel macht diese Probleme verschwinden, ohne dass wir bei einem Anbieter „Server mieten”.
Was Cloudflare sieht: die TLS-Terminierung. Wer auf
memoro.mana.how zugreift, terminiert TLS an einem Cloudflare-Edge-Node.
Der Inhalt der Anfrage wird dann durch den Tunnel an die Mac-Mini-
Container weitergereicht.
Was Cloudflare nicht sieht: Service-Logik, Datenbankinhalte, Stripe-Webhook-Signaturen. Was die Apps an die Datenbanken schreiben, ist Verein-Sache.
Verfügbarer Pfad zur Ablösung: Caddy mit Let’s Encrypt auf einer öffentlichen IP würde dieselbe Aufgabe leisten. Mit höherem Pflege-Aufwand, aber ohne Cloudflare-Abhängigkeit. Wir behalten das als Plan B in der Schublade. Siehe auch cloudflare-dns als zweite Cloudflare-Schicht.
Was Cloudflared für den Verein verkörpert
- EigenbetriebEigene Infrastruktur, quelloffener Stack.
- DatensouveränitätVerwahrer statt Eigentümer.
- LanglebigkeitBewährte Stacks, gute Doku.
Weitere Infrastruktur dieser Art
Selbst betriebener Dienst — Container auf Vereins-Hardware, statt SaaS-Vertrag.
- ForgejoEigenes Git-Hosting für alle Vereins-Repos — Quellcode, Issues, Pull-Requests.
- VerdaccioEigene npm-Registry für die @mana/*-Pakete der Plattform.
- StalwartEigener Mail-Server für transaktionale Emails und Vereins-Korrespondenz — SMTP, IMAP, JMAP.
- MinIOS3-kompatibler Object-Storage für alle Vereins-Dateien — Buckets pro App, Signed URLs mit Ablauf.
- PostgresEine Postgres-Datenbank pro Service — schema-isoliert, mit Drizzle-Migrationen, keine geteilten Tabellen.
- RedisCache, Session-Store und BullMQ-Worker-Queues — klein, schnell, dort wo Postgres zu schwerfällig wäre.
Cloudflared ist ein Baustein der Vereins-Infrastruktur — eine von drei Schichten unter den Plattform-Services und Apps.