Auf was das alles wirklich läuft.
Die Plattform passt auf einen Mac Mini. Nicht abstrakt, sondern konkret: hier stehen die Maschinen, die wir betreiben, die Dienste, die wir selbst hosten — und ehrlich gemacht, die Stellen, die wir bewusst extern bezahlen.
Hardware mit Standort
Zwei physische Maschinen tragen heute den gesamten Vereins-Betrieb. Keine AWS-Region, keine Azure-Tenant, kein Hetzner-Rechenzentrum. Wer wissen will, wo seine Daten liegen, bekommt eine Adresse statt einer SLA-Klausel.
- Maschinemana-serverApple Mac mini M4 · Tägerwilen (Schweiz)
- Modell
- Mac mini M4 (2024 base)
- CPU / RAM
- 10 Cores (4P + 6E) · 16 GB unified
- Storage
- 256 GB intern + 4 TB extern (ManaData)
- Belegt
- 753 GB auf ManaData
- Container
- 107 (103 laufend)
- Postgres-DBs
- 17 separat
- Compose-Projekte
- 22
- OS
- macOS 26.2 · Colima/Docker
- Standort
- Minergie-Haus, nachhaltiger Strom
Der Hauptserver des Vereins — ein Mac mini M4 in Tägerwilen (Schweiz), der die ganze Plattform trägt.
- Maschinemana-gpuWorkstation mit RTX 3090 · Deutschland
- GPU
- NVIDIA RTX 3090, 24 GB VRAM
- Workloads
- Whisper STT, TTS, Photon-Geocoder
- Modus
- WSL2 + Docker
- Auslastung
- nur bei Anfrage, sonst idle
Eigene KI-Inferenz-Workstation für die Workloads, die wir nicht auslagern wollen.
- Geplantmana-server-chSchweiz (geplant)
- Status
- noch nicht bestellt
- Rolle
- Off-Site-Replikation + Failover
- Standort
- Schweizer Vereinssitz
- Auslöser
- Verein-Gründung abgeschlossen
Zweiter Mac Mini in der Schweiz — Off-Site-Replikation und Failover, sobald der Verein dort verankert ist.
Was wir selbst hosten
Die Bauteile, die andere Projekte als SaaS einkaufen — Git-Hosting, npm-Registry, Object-Storage, Mail-Server, Datenbank, Cache, Monitoring. Bei uns sind das Container auf der eigenen Maschine.
- Forgejogit.mana.how
Eigenes Git-Hosting für alle Vereins-Repos — Quellcode, Issues, Pull-Requests.
Statt: GitHub, GitLab Cloud, Bitbucket - Verdaccionpm.mana.how
Eigene npm-Registry für die @mana/*-Pakete der Plattform.
Statt: npmjs.com Pro, GitHub Packages, JFrog Artifactory - StalwartSMTP / IMAP / JMAP
Eigener Mail-Server für transaktionale Emails und Vereins-Korrespondenz — SMTP, IMAP, JMAP.
Statt: SendGrid, Mailgun, Postmark, AWS SES, Google Workspace - MinIOmedia.mana.how
S3-kompatibler Object-Storage für alle Vereins-Dateien — Buckets pro App, Signed URLs mit Ablauf.
Statt: AWS S3, Cloudflare R2, Backblaze B2, Google Cloud Storage - Postgres17 separate Datenbanken
Eine Postgres-Datenbank pro Service — schema-isoliert, mit Drizzle-Migrationen, keine geteilten Tabellen.
Statt: Supabase, Neon, Amazon Aurora, RDS, PlanetScale - RedisCache + Queues
Cache, Session-Store und BullMQ-Worker-Queues — klein, schnell, dort wo Postgres zu schwerfällig wäre.
Statt: Upstash, Redis Cloud, AWS ElastiCache, Memcached-as-a-Service - Cloudflared*.mana.how und 40 Apex-Domains
Der einzige Außen-Tunnel — auf dem Mac Mini stehen null Ports offen, alle Anfragen kommen verschlüsselt durch den Tunnel rein.
Statt: offene Ports, Caddy auf öffentlicher IP, ngrok, Tailscale Funnel - SearXNGinterne Such-Backend-Instanz
Aggregierte Such-Engine ohne User-Profilbildung — föderiert mehrere Suchmaschinen, eigene Instanz, keine Tracking-IDs.
Statt: Google Search API, Brave Search API, Bing Search API - WatchtowerDaemon auf mana-server
Auto-Updater für die fremden Container-Images — Postgres, Redis, MinIO bekommen Sicherheits-Updates über Nacht.
Statt: AWS Patch-Management, manuelles Pull-and-Restart, Unattended-Upgrades - MonitoringcAdvisor + Exporters + Prometheus
Eigene Prometheus-Metriken für Container, Node, Postgres, Redis — Forgejo-Issue als Notify bei Auffälligkeiten.
Statt: Datadog, New Relic, Cloudflare Analytics, Sentry-Performance - BackupLaunchD-Cron auf mana-server
Tägliche Postgres-Dumps + Container-Volume-Snapshots auf interne Disk — Off-Site-Endpunkt ist die offene Lücke.
Statt: AWS Backup, RDS Snapshots, Borgbase, Tarsnap
Wo wir nicht selbst betreiben — und warum
Kein Verein-Manifest soll behaupten, alles selbst zu machen. Hier stehen die expliziten Ausnahmen, beim Namen genannt, damit Skeptiker prüfen können, was wir bei wem in Auftrag geben.
- Stripestripe.com
Bezahlung — Mana-Käufe und Spenden. SEPA-Lastschrift selbst zu betreiben ist aus Vereins-Größe heraus nicht stemmbar.
Mitigation: Stripe sieht Beträge, keine App-Inhalte. Das Ledger über die Käufe liegt in mana-credits bei uns. Wer austritt, behält das angesparte Mana — kein Lock-in.
- APNs + FCMapple.com + firebase.google.com
Apple- und Google-Push-Dienste — die einzigen Wege, Notifications an iPhones und Android-Geräte zu schicken. Niemand kann das selbst hosten.
Mitigation: mana-notify benutzt APNs/FCM nur als Versand-Channel. Keine FCM-Analytics, keine Tracking-Header, keine Topic-Targeting-Profile. Templates und Throttling leben bei uns.
- Anthropic · OpenAI · Geminianthropic.com · openai.com · google.com
Große Sprachmodelle (Claude, GPT, Gemini) sind aus Compute-Größe und Modell-Qualität heraus heute nicht im Eigenbetrieb leistbar.
Mitigation: mana-llm ist der einzige Ort im Code, an dem API-Keys liegen. Apps rufen nicht direkt bei den Anbietern an. Self-hosted-Fallbacks (Llama, Mistral, Gemma) sind als Pfad vorbereitet, wenn Modell-Qualität ausreicht.
- Cloudflare DNScloudflare.com (DNS-Plane)
DNS-Provider für die 41 Verein-Zonen. Austauschbar gegen einen anderen DNS-Anbieter, aber heute aus Komfort dort.
Mitigation: DNS-Records sind öffentlich, da gibt es nichts zu schützen. Cloudflare als DNS-Anbieter ist austauschbar — ein Wechsel zu deSEC, Hetzner-DNS oder Bunny.net ist in Stunden machbar, ohne dass die Plattform selbst angefasst werden muss.
Was wir nicht bei Big-Tech haben: kein analytics, keine A/B-Test-Plattform, kein Customer-Data-Platform, kein CRM-SaaS, kein Help-Desk-Tool, kein gemietetes Form-Builder, kein Tag-Manager. Wo Drittanbieter notwendig sind, sind sie *eine* Schicht hinter unserem Code — nie direkt im User-Browser.
41 Domains, ein Tunnel
Der Verein verwaltet 41 Cloudflare-Zonen — jede Vereins-App hat
eine eigene Domain (zitare.com, wordeck.com,
pageta.com, seepuls.com,
herbatrium.com, werdrobe.com,
comicello.com, ulo.ad, …), plus
mana-ev.ch als Verein-Domäne und mana.how
als Plattform-Anker.
Wenn morgen eine Domain weg wäre, ist der Verein noch unter 40 anderen erreichbar. Wenn morgen Cloudflare als Tunnel-Anbieter ausfallen würde, ist das Tunnel-Pattern austauschbar — siehe cloudflared und cloudflare-dns für die Trennung der beiden Cloudflare-Rollen.
Was läuft, was offen ist
- Laufender Betrieb
- Alle Apps und Services laufen heute auf einem Mac mini M4 (10 Cores, 16 GB Memory) in Tägerwilen (Schweiz). 107 Container in 22 Compose-Projekten, davon 103 laufend; 17 separate Postgres-Datenbanken; 753 GB Daten auf der externen 4-TB-Disk. Verfügbarkeit bei ~99,5 % — Wartungs-Fenster werden im Devlog vorab angekündigt.
- Backup
- Lokales Backup via LaunchD-Cron läuft (2026-05-13 repariert), 18 DBs / 9 Container / 46 GB werden täglich gespiegelt auf die interne System-Disk. Off-Site-Backup ist offen — siehe backup für den Stand und mana-server-ch für die geplante Antwort.
- Hochverfügbarkeit
- Heute nicht gegeben. Wenn der Mac Mini ausfällt, ist die Plattform offline, bis er wieder läuft. Die zweite Maschine in der Schweiz ist Plan, abhängig vom Vereins-Gründungs- Abschluss.
- Monitoring
- cAdvisor + node-exporter + postgres-exporter + redis-exporter sammeln Metriken. Bei Ausfall einer Cron-Task kommt eine Forgejo-Issue als Notify (Phase 1 live seit 2026-05-20). Siehe monitoring.
- Strom & Internet
- Auch nicht in unserer Hand. Lokaler Strom-Anbieter, Glasfaser-Anschluss. Wenn das ausfällt, fallen wir aus. Diese Schicht legen wir niemandem in die Schuhe — sie ist die einzige bewusste Akzeptanz fremder Abhängigkeit.
Wo die Hardware perspektivisch hinwächst
Heute trägt ein Mac Mini den Vereins-Betrieb. Mit dem Auftrags-Modell wächst die Hardware mit den Projekten mit — nicht in eine zentrale Cloud, sondern in die Regionen, in denen der Bedarf entsteht.
- HeuteEine Maschine, eine Adresse
Mac Mini in Tägerwilen, GPU-Workstation als zweite Maschine. Alles, was auf der Landing erwähnt wird, läuft hierauf.
- Im AufbauHardware pro Auftragsprojekt
Jedes Auftragsprojekt für eine gemeinnützige Organisation kann mit eigener Hardware vor Ort kommen — sauber von der Plattform getrennt, wartbar aus der Ferne. So entstehen über die Zeit verschiedene Hardware-Stacks nebeneinander, die wir auf Wartbarkeit, Stromverbrauch und Langlebigkeit vergleichen können.
- TrajektorieEigenes Gehäuse, eigener Strom
Perspektivisch eine eigene, kompakte Infrastruktur- Einheit — denkbar als Container, mit eigenen Solarzellen und Pufferbatterien, der die Plattform unabhängiger vom Stromnetz macht. Gleicher Gedanke auf der Personen-Seite: ein mobiler Bürocontainer, der Software-Arbeit dorthin bringt, wo sie gebraucht wird, statt sie zentral zu konzentrieren.
Das ist die Richtung, nicht ein Termin. Was tatsächlich wann gebaut wird, hängt an Aufträgen, Mitgliedern und Mittelfluss — siehe Vorhaben für den aktuellen Stand.
Wer mit uns infrastrukturelle Souveränität bauen will
Wenn dich Self-Hosting, eigene Infrastruktur, Container-Betrieb, Backup-Strategien oder Cloudflared-Pattern interessieren — der Verein freut sich über Mitstreiter:innen. Es gibt mehr offene Fragen als geschlossene, vor allem rund um Off-Site-Backup und Schweiz-Replikation. Mitwirken- Seite für den Start.
Infrastruktur ist die Ebene, an der Souveränität wirklich gemessen wird. Wer den Stack besitzt, besitzt das Versprechen — der Rest ist Marketing.