Back openDesk Edu for a sovereign, open-source education â every vote counts.
Vote nowSave products you love by clicking the heart icon.
Ein praxisnaher Leitfaden zur Bereitstellung von SOGo 6 (dem vollstĂ€ndigen Rewrite der SOGo Groupware-Suite) mit dem Stalwart Mail Server und OpenLDAP-Authentifizierung â vollstĂ€ndig containerisiert mit Docker Compose.
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. đ