Der Assistent führt Sie durch die Ersteinrichtung des BundesMessengers.
Für die Installation des BundesMessengers wird ein bestehendes Kubernetes-Cluster benötigt. Kubernetes wird durch
verwaltet. Stellen Sie sicher, dass auf ihrem aktuellen Rechner die Kommandozeilenprogramme helm und kubectl zur Verfügung stehen. Überprüfen Sie außerdem, dass Sie mit kubectl cluster-info Informationen über ihr Kubernetes-Cluster abrufen können.
Die BundesMessenger-Instanz ist eindeutig mit der Domain identifiziert; Nutzer haben somit Matrix-IDs wie beispielsweise @chris:example.org oder @dirk:example.org. Aus dem Internet erreichbar ist der Server unter der Domain . Die für den Zugriff aus dem Internet nötigen Zertifikate werden automatisch von LetsEncrypt ausgestellt und werden
eingesetzt. Um von LetsEncrypt kontaktiert werden zu können, wird die Kontakt-Email verwendet.
Für einen rechtssicheren Betrieb sind die folgenden URLs gegeben:
Es können verschiedene Systeme zum Erweitern der Funktionalität aktiviert werden.
Der BundesMessenger ist nun fertig konfiguriert! Die Konfigurationsdatei kann hier heruntergeladen werden:
# bum-configuration.yaml --- serverName: {{publicServerName}} # Zum Absichern der Administration gegen externen Zugriff # kann dies eine lokale Adresse sein adminAPIServerName: admin-api.{{publicServerName}} dataPrivacyUrl: {{dataPrivacyURL}} imprintUrl: {{imprintURL}} {{#adminportal}} synapse_admin: enabled: true uri: admin-gui.{{publicServerName}} {{/adminportal}} {{#webclient}} webclient: enabled: true uri: {{webclienturl}} {{/webclient}} {{#schadcodescanner}} schadcodescanner: enabled: true {{/schadcodescanner}} {{#contentscanner}} contentscanner: enabled: true {{/contentscanner}} postgresql: enabled: true {{#monitoring}} monitoring: enabled: true labels: release: kube-prometheus-stack {{/monitoring}} ingress: tls: - hosts: # All host names for which to create a certificate - {{ publicServerName }} - web.{{ publicServerName }} - admin-api.{{ publicServerName }} - admin-gui.{{ publicServerName }} secretName: ingress-bum-tls-certificate annotations: # Annotation to enable cert manager {{#letsencrypt}} cert-manager.io/cluster-issuer: letsencrypt-prod {{/letsencrypt}} {{^letsencrypt}} cert-manager.io/cluster-issuer: letsencrypt-staging {{/letsencrypt}}
# certmanager-ClusterIssuer.yaml {{^letsencrypt}} --- apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-staging spec: acme: # You must replace this email address with your own. # Let's Encrypt will use this to contact you about expiring # certificates, and issues related to your account. email: ssl@example.com server: https://acme-staging-v02.api.letsencrypt.org/directory privateKeySecretRef: # Secret resource used to store the account's private key. name: letsencrypt-staging-key # Add a single challenge solver, HTTP01 using nginx solvers: - http01: ingress: class: nginx {{/letsencrypt}} {{#letsencrypt}} --- apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-prod spec: acme: # You must replace this email address with your own. # Let's Encrypt will use this to contact you about expiring # certificates, and issues related to your account. email: ssl@example.com server: https://acme-v02.api.letsencrypt.org/directory privateKeySecretRef: # Secret resource used to store the account's private key. name: letsencrypt-prod-key # Add a single challenge solver, HTTP01 using nginx solvers: - http01: ingress: class: nginx {{/letsencrypt}}
Der BundesMessenger wird mittels Helm auf einem Kubernetes-Cluster installiert. Stellen Sie sicher, dass Sie mit kubectl auf das zu verwendende Kubernetes-Cluster zugreifen können. Die folgenden Schritte sind zur Erstinstallation des BundesMessengers unter dem Namespace durchzuführen:
$ helm upgrade --install ingress-nginx ingress-nginx \
--repo=https://kubernetes.github.io/ingress-nginx \
--namespace=ingress-nginx --create-namespace
$ helm upgrade --install cert-manager cert-manager \
--namespace=cert-manager --create-namespace \
--repo=https://charts.jetstack.io \
--set=installCRDs=true
$ kubectl apply -f certmanager-ClusterIssuer.yaml
$ helm upgrade --install --namespace=bum --create-namespace \
-f bum-configuration.yaml \
bundesmessenger \
oci://registry.opencode.de/bwi/bundesmessenger/backend/helm-chart/bundesmessenger
Glückwunsch! Der BundesMessenger ist nun einsatzbereit und kann unter https://matrix.example.org erreicht werden.