Zum Hauptinhalt springen

Uni-Verein 1.4.0 – Dark Mode und Umstieg auf PostgreSQL 🌓🐘

· 3 Minuten Lesezeit
René Herrmann
Senior developer

Veröffentlicht am 28. Juli 2026

Uni-Verein 1.4.0 ist da! Mit einem lang gewünschten Dark Mode und einer größeren technischen Umstellung unter der Haube: Die Datenbank wechselt von MariaDB zu PostgreSQL. Bestehende Installationen werden dabei automatisch und sicher vom Updater migriert.

Highlights

  • 🌓 Dark Mode: Die App folgt jetzt standardmäßig dem Farbschema von Betriebssystem/Browser, mit einem manuellen Umschalter neben dem Sprachumschalter
  • 🐘 PostgreSQL statt MariaDB: Die Datenbank-Engine wurde umgestellt. Bestehende Installationen werden vom Updater automatisch und sicher migriert (siehe Wichtiger Hinweis zum Upgrade unten)

⚠️ Wichtiger Hinweis zum Upgrade (Breaking Change)

Dieses Release wechselt die Datenbank-Engine von MariaDB zu PostgreSQL. Aktualisiert deshalb ausschließlich über den offiziellen Updater und setzt niemals VERSION in der .env von Hand oder tauscht selbstständig eine neuere docker-compose-prod-image.yml ein, das überspringt die notwendige Datenbankmigration und beschädigt eure Installation!

curl -O https://raw.githubusercontent.com/uni-verein/uni-verein/main/docker-compose-update.yml
docker compose -f docker-compose-update.yml run --rm update
  • Erstellt vor dem Fortfahren ein manuelles Backup (Datenbank-Backup und Mitgliederexport, beides unter Backup) der Updater fragt vor der Migration explizit danach, ob dies erledigt wurde
  • Installationen, die noch auf MariaDB laufen, werden zunächst auf v1.3.1 aktualisiert, falls sie das nicht schon sind. Ab v1.3.1 migriert der nächste Update-Lauf die Datenbank nach PostgreSQL und stellt den gesamten Stack um. Das bringt eine Ausfallzeit mit sich, die proportional zur Datenbankgröße ist
  • Sicherheitsnetz bei der Migration: Die Umstellung läuft gegen eine isolierte, temporäre PostgreSQL-Instanz, während der laufende MariaDB-Container weiterhin bedient, es wird also erst etwas verändert, nachdem die Kopie verifiziert wurde. Bei Erfolg wird der alte MariaDB-Container gestoppt, sein Datenvolume aber nicht gelöscht (späteres Freigeben mit docker volume rm <project>_db_data, sobald alles bestätigt funktioniert). Bei einem Fehlschlag wird die Migration automatisch bereinigt und die MariaDB-Installation bleibt vollständig unangetastet
  • Kommt ihr von einer älteren Version? Der Updater geht pro Lauf nur einen Schritt weiter (< v1.3.1v1.3.1v1.4.0 → aktuellste Version). Wer von vor v1.3.1 aktualisiert, führt den obigen Befehl einfach mehrfach hintereinander aus, bis "Already up to date" gemeldet wird

Neue Funktionen

  • 🌓 Dark Mode: folgt standardmäßig prefers-color-scheme oder lässt sich manuell über einen Umschalter neben dem Sprachumschalter setzen, die Wahl wird über Reloads hinweg gespeichert. Jede bisher nur helle Oberfläche (Hauptbereich, Tabellenköpfe, Backup-/E-Mail-/Sendefortschritt-Panels, Kopfleiste, Login-Seite) ist jetzt theme-fähig
  • 🛠️ UniVerein.DbMigrator: ein neues Tool, das die oben beschriebene MariaDB-zu-PostgreSQL-Migration durchführt, kopiert jede Tabelle (inklusive soft-gelöschter Zeilen) in fremdschlüsselsicherer Reihenfolge und verifiziert die Zeilenanzahlen

Verbesserungen

  • 🐘 MariaDB wurde im gesamten Stack durch PostgreSQL (postgres:17-alpine) ersetzt: Docker-Images, der Datenbank-Provider im Backend sowie das Backup-/Restore-Tooling
  • 🔄 Der Updater (docker-compose-update.yml) wurde so angepasst das er die oben beschriebene MariaDB-zu-PostgreSQL-Umstellung automatisch durchführt

Fehlerbehebungen

  • 🐛 Der Login-Dialog für den Demo-Modus konnte fälschlicherweise auch dann erscheinen, wenn die App gar nicht als Demo-Instanz konfiguriert war

Warum diese Updates wichtig sind

Der Dark Mode war eine der meistgefragten Komfortfunktionen, gerade bei abendlichen Vorstandssitzungen ein spürbarer Unterschied. Der Wechsel zu PostgreSQL ist dagegen eine strategische Entscheidung: PostgreSQL bietet eine robustere Grundlage für zukünftige Funktionen und bessere Datenintegrität. Da ein Datenbankwechsel für bestehende Installationen naturgemäß heikel ist, wurde besonderer Wert auf eine sichere, automatisierte Migration mit Rückfallebene gelegt.

Wie geht es weiter?

Bitte plant für das Update ein kurzes Wartungsfenster ein und meldet euch bei Problemen während der Migration gerne über GitHub Issues. Vielen Dank an alle, die dieses Release mit Feedback begleitet haben. Schaut auch weiterhin gerne hier vorbei!