Redis
Cache, Session-Store und BullMQ-Worker-Queues — klein, schnell, dort wo Postgres zu schwerfällig wäre.
Redis ist kein Plattform-Service auf eigener Domain — es ist ein interner Cache-Container, mit dem ein paar Services sprechen, wenn sie etwas brauchen, das Postgres entweder nicht schnell oder nicht passend kann.
Konkret eingesetzt für:
- BullMQ-Queues: mana-notify schiebt Push-Notifications in eine Queue, ein Worker holt sie ab und feuert APNs/FCM. Das entkoppelt den HTTP-Request vom tatsächlichen Push-Versand.
- Session-Cache: kurzlebige Session-Daten, die nicht jede Anfrage durch Postgres jagen sollen.
- Presence-Channels: mana-presence benutzt Redis als Pub/Sub-Backbone für SSE-Fan-Out.
Was nicht in Redis liegt: der wahre Zustand. Wer Redis verliert, verliert höchstens eine Queue-Position oder einen Session-Token-Cache. Die Datenbanken liegen in postgres.
Self-hosted-Redis ist trivial: ein Container, ein Volume, kein Cluster, kein Sentinel. Das passt zur Größe der Plattform.
Plattform-Services, die hier aufsitzen
Diese Services nennen Redis in ihrem Infrastruktur-Frontmatter — sie sind direkt von diesem Baustein abhängig.
- mana-transcodeVideo-Transcoding-Worker — liest BullMQ-Jobs, läuft ffmpeg, schreibt 720p/480p/Poster zurück in mana-media.
- mana-presenceLive-State + SSE-Fanout — was läuft gerade auf welchem Gerät, bidirektional zwischen Phone und Web.
- mana-notifyPush-Versand für iOS, Android und Web-Push — Templates und Throttling zentral, keine Push-SaaS-Anbieter.
Was Redis für den Verein verkörpert
- EigenbetriebEigene Infrastruktur, quelloffener Stack.
- LanglebigkeitBewährte Stacks, gute Doku.
- SelbstkostenpreisKeine Werbung, kein Aufschlag.
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.
- CloudflaredDer einzige Außen-Tunnel — auf dem Mac Mini stehen null Ports offen, alle Anfragen kommen verschlüsselt durch den Tunnel rein.
Redis ist ein Baustein der Vereins-Infrastruktur — eine von drei Schichten unter den Plattform-Services und Apps.