Firewall
Eine Installation braucht wenige Verbindungen nach außen. Alle laufen über HTTPS (TCP 443), außer zu Ihrem Mailserver. Darf Ihr Server nicht direkt ins Internet, leiten Sie sie über einen Proxy: HTTPS_PROXY (siehe Konfiguration) für das CMS, die Proxy-Einstellung von Docker oder Ihrer Container-Laufzeit für das Laden der Images.
Eingehend
| Port | Von | Wozu |
|---|---|---|
| TCP 443 | Geräten Ihrer Mitarbeitenden | CMS und Leser-App unter ihren beiden Hostnamen. Wer die Mobil-App auch unterwegs nutzt, braucht sie aus dem Internet. |
| TCP 80 | Internet | Nur mit dem mitgelieferten Caddy: Let's Encrypt prüft hier, dass die Hostnamen Ihnen gehören, danach leitet Caddy auf HTTPS um. Mit eigenen Zertifikaten nicht nötig. |
Mit Kubernetes kommen die Verbindungen bei Ihrem Ingress-Controller an; dort gilt dasselbe.
Ausgehend – immer nötig
| Ziel | Port | Von | Wozu |
|---|---|---|---|
registry.gitlab.com | 443 | Docker bzw. jedem Kubernetes-Knoten | Die Images von DDM laden. |
gitlab.com | 443 | Docker bzw. jedem Kubernetes-Knoten | Die Anmeldung an der Registry mit Ihrem Deploy-Token. |
cdn.registry.gitlab-static.net | 443 | Docker bzw. jedem Kubernetes-Knoten | Die Registry liefert die Inhalte der Images von hier aus. |
cms.documentdistributionmanager.com | 443 | dem Dienst cms | Lizenz erneuern, nach neuen Versionen fragen, Wünsche und Fehlermeldungen an uns weitergeben. |
Die Images braucht nur der Rechner, der sie lädt – beim Einrichten und bei jedem Update. Die Verbindung zu uns braucht das CMS dauerhaft: Erreicht es uns nicht, läuft die Lizenz nach ihrer Laufzeit ab. Ohne diese Freigabe erneuern Sie sie von Hand, siehe Lizenz.
Mit Docker Compose und Caddy
| Ziel | Port | Wozu |
|---|---|---|
registry-1.docker.io, auth.docker.io, production.cloudflare.docker.com | 443 | Das Image von Caddy liegt bei Docker Hub. |
acme-v02.api.letsencrypt.org | 443 | Caddy holt und verlängert die TLS-Zertifikate. |
Ausgehend – je nachdem, was Sie nutzen
Alle vom Dienst cms:
| Ziel | Port | Wann |
|---|---|---|
| Ihr Mailserver | meist 587 oder 465 | Mit SMTP – für Einladungen, Passwort-Links und Benachrichtigungen. |
api.resend.com | 443 | Wenn Sie Mails über Resend statt SMTP verschicken. |
| Ihr S3-Endpunkt | 443 | Wenn die Dokumente in einem Bucket liegen statt auf einem Volume. |
login.microsoftonline.com, graph.microsoft.com | 443 | Anmeldung mit Microsoft Entra ID, SharePoint und OneDrive als Quelle, Outlook-Kalender. |
oauth2.googleapis.com, www.googleapis.com | 443 | Google Drive als Quelle, Google-Kalender. |
| Ihr Identity Provider | 443 | Anmeldung über einen anderen Anbieter (SSO), etwa Okta oder Keycloak. |
api.anthropic.com oder api.openai.com | 443 | Der KI-Assistent – oder die Adresse, die Sie für ihn eingetragen haben, etwa Azure OpenAI. |
| Die Systeme, die Sie anbinden | wie eingetragen | Webhooks, PIM-Importe und andere Quellen, die Sie in DDM einrichten. |
accounts.google.com öffnet nur der Browser Ihrer Mitarbeitenden, wenn sie einen Google-Kalender verbinden – nicht der Server.
Zwischen den Diensten
Mit Docker Compose sprechen die Dienste in ihrem eigenen Netz miteinander; dafür ist nichts freizugeben. Setzen Sie in Kubernetes NetworkPolicies ein, lassen Sie zu:
| Von | Zu | Port |
|---|---|---|
| Ingress-Controller | cms, client | TCP 3000 |
client | cms | TCP 3000 |
cms, render-worker | postgres | TCP 5432 |
Dazu für alle Dienste DNS (UDP und TCP 53) zu Ihrem Cluster-DNS.