Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Eine gründliche Evaluierung von SOGo 6, der Next.js/Flask-Groupware-Suite, bereitgestellt mit dem Stalwart-Mailserver und OpenLDAP via Docker Compose. Behandelt Architektur, Feature-Implementierung, SSO, MFA und über 1.800 bestandene Tests.
Ein großer Meilenstein für das SOGo6-dockerized-Projekt: Die gesamte CI-Pipeline ist jetzt vollständig grün, die Testsuite ist auf mehrere tausend automatisierte Checks angewachsen, und die letzten funktionalen Lücken im Web-Client sind geschlossen. Dieser Beitrag ist ein Statusbericht – und eine Einladung, den Stack zu testen und zum Projekt beizutragen.
Repository: github.com/tobias-weiss-ai-xr/SOGo6-dockerized
SOGo6-dockerized verpackt den kompletten Neuaufbau der SOGo-Groupware-Suite als produktionsnahen Docker-Compose-Stack: ein Python/Flask-REST-API-Backend (SOGo 6 Server), ein Next.js-16-Frontend (SOGo 6 UI), PostgreSQL für die Persistenz, Redis für Caching und Task-Queues sowie OpenLDAP für die Authentifizierung und Stalwart als modernen All-in-One-IMAP/SMTP/Sieve-Mailserver.
Der Anspruch geht über „es läuft" hinaus: Das Projekt verfolgt CRA-Compliance-Remediation, härtet den Mail-Stack und behandelt CI und Testabdeckung als erstklassige Liefergegenstände.
Der Test-Workflow des Repositories führt bei jedem Push auf main sieben Jobs aus – und alle bestehen:
| Job | Inhalt |
|---|---|
| Stack-Build + Backend-Tests | Baut alle Container, startet MariaDB/Redis/OpenLDAP/Stalwart/Server, führt die komplette Shell-Testsuite + die gating Python-Integrationstests aus |
| UI Build & Test | tsc --noEmit-Type-Gate, komplette Jest-Unit-Suite, produktiver next build |
| Playwright E2E | Remote-API-gesteuerte E2E-Specs über Auth, Mail, Kalender, Admin, Sicherheit |
| Security-Scan | Trivy-Image-Scanning |
| OWASP ZAP Baseline | Automatisierte Web-Schwachstellen-Baseline |
| Lint Shell-Skripte | shellcheck über alle Shell-Suiten |
| Load / Performance | k6-Lastskripte gegen den laufenden Stack |
Die letzten Runs sind durchgehend grün – inklusive des Load-Test-Jobs, der jetzt den kompletten Stack hochfährt (Secrets, TLS, LDAP-Profil, voller Service-Satz, Init) – exakt wie der Integrationsjob.
run-all-tests.sh über API, Admin, LDAP, SMTP, Hardening): 157 bestandentsc --noEmit saubermainDrei Features, die es bisher nur auf alten Branches gab, sind jetzt in main integriert und getestet:
POST /calendars/<key>/export), den Job abfragt und die resultierende .ics-Datei herunterlädt.POST/DELETE /calendars/<key>/subscription) und die backend-generierte öffentliche URL für beliebige Kalender-Clients anzeigen.RE: bei Antworten und sauberes FWD:-Strip/Re-add beim Weiterleiten, damit Threads übersichtlich bleiben.Bereits auf main: PGP-Signier-/Verschlüsselungs-Umschalter im Komponieren (z. B. SecurityOptions im „Weitere Optionen"-Menü).
Eine vollständige lokale Instanz läuft in wenigen Minuten:
git clone https://github.com/tobias-weiss-ai-xr/SOGo6-dockerized.git
cd SOGo6-dockerized
# Secrets & TLS-Zertifikate erzeugen (erster Start)
bash sogo6/scripts/manage-secrets.sh
bash sogo6/scripts/gen-certs.sh
# Stack starten (Datenbank, LDAP, Mail, Server)
docker compose --profile db-mariadb --profile auth-ldap --profile mail-stalwart up -d
# Instanz initialisieren (LDAP-User, Admin-Konto, Defaults)
bash sogo6/scripts/init-sogo6.sh
Danach die UI im Browser öffnen, mit dem Admin-Konto anmelden und losklicken: Mail-Ordner, Kalender-Ereignisse, ICS-Export, öffentliche Kalender-Abos, Antwort-/Weiterleitungs-Präfixe, Nutzereinstellungen, Admin-Panel …
Alles, was auffällt (Fehlermeldungen, langsame Antworten, kaputte Zustände, fehlende Übersetzungen), ist genau das Feedback, das das Projekt braucht.
Es gibt mehrere gleichwertige Wege zu helfen:
Jeder Beitrag wird von der gesamten CI-Pipeline validiert – „CI grün" bleibt also die Baseline des Projekts, nicht nur das Ziel.
Lust, eines davon mitzugestalten? Die Issue-Liste ist die Single Source of Truth.
Danke fürs Lesen – und noch mehr Dank fürs Testen, Issue-Melden und PR-Eröffnen. Der Stack ist bereit. 🚀