Selbst betreiben

Firewall

Welche Verbindungen Ihre Firewall für eine Installation zulassen muss – eingehend, ausgehend und zwischen den Diensten.

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

PortVonWozu
TCP 443Geräten Ihrer MitarbeitendenCMS und Leser-App unter ihren beiden Hostnamen. Wer die Mobil-App auch unterwegs nutzt, braucht sie aus dem Internet.
TCP 80InternetNur 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

ZielPortVonWozu
registry.gitlab.com443Docker bzw. jedem Kubernetes-KnotenDie Images von DDM laden.
gitlab.com443Docker bzw. jedem Kubernetes-KnotenDie Anmeldung an der Registry mit Ihrem Deploy-Token.
cdn.registry.gitlab-static.net443Docker bzw. jedem Kubernetes-KnotenDie Registry liefert die Inhalte der Images von hier aus.
cms.documentdistributionmanager.com443dem Dienst cmsLizenz 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

ZielPortWozu
registry-1.docker.io, auth.docker.io, production.cloudflare.docker.com443Das Image von Caddy liegt bei Docker Hub.
acme-v02.api.letsencrypt.org443Caddy holt und verlängert die TLS-Zertifikate.

Ausgehend – je nachdem, was Sie nutzen

Alle vom Dienst cms:

ZielPortWann
Ihr Mailservermeist 587 oder 465Mit SMTP – für Einladungen, Passwort-Links und Benachrichtigungen.
api.resend.com443Wenn Sie Mails über Resend statt SMTP verschicken.
Ihr S3-Endpunkt443Wenn die Dokumente in einem Bucket liegen statt auf einem Volume.
login.microsoftonline.com, graph.microsoft.com443Anmeldung mit Microsoft Entra ID, SharePoint und OneDrive als Quelle, Outlook-Kalender.
oauth2.googleapis.com, www.googleapis.com443Google Drive als Quelle, Google-Kalender.
Ihr Identity Provider443Anmeldung über einen anderen Anbieter (SSO), etwa Okta oder Keycloak.
api.anthropic.com oder api.openai.com443Der KI-Assistent – oder die Adresse, die Sie für ihn eingetragen haben, etwa Azure OpenAI.
Die Systeme, die Sie anbindenwie eingetragenWebhooks, 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:

VonZuPort
Ingress-Controllercms, clientTCP 3000
clientcmsTCP 3000
cms, render-workerpostgresTCP 5432

Dazu für alle Dienste DNS (UDP und TCP 53) zu Ihrem Cluster-DNS.