Benno MailArchiv steht auch als Docker-Image bennomailarchiv zur Verfügung.
Bitte beachten Sie auch unsere Hinweise zur rechtssicheren bzw. GoBD-konformen Mailarchivierung!
docker run --name bma \ --volume /srv/benno:/srv/benno \ --volume /etc/benno:/etc/benno \ --volume /etc/benno-web:/etc/benno-web \ --volume /var/lib/benno-web:/var/lib/benno-web \ --volume /var/cache/benno-web:/var/cache/benno-web \ --volume /var/log/benno:/var/log/benno \ -p 20022:22 -p 20080:80 -p 22500:22500 \ bennomailarchiv/appliance:latest
Das Image kann mit Hilfe von docker-compose gestartet werden.
Hiefür wird das folgende Compose-File angelegt:
version: '3' services: benno: image: bennomailarchiv/appliance ports: - "22080:80" - "22500:22500" - "21080:21080" restart: always volumes: - ${ARCHIVECONF_DIR:-/etc/benno}:/etc/benno/ - ${ARCHIVE_DIR:-/srv/benno/archive}:/srv/benno/archive/ - ${SYSTEM_DIR:-/srv/benno/system}:/srv/benno/system/ - ${INBOX_DIR:-/srv/benno/inbox}:/srv/benno/inbox/ - ${LOG_DIR:-/var/log/benno}:/var/log/benno - ${WEBCONF_DIR:-/etc/benno-web}:/etc/benno-web/ - ${WEBLIB_DIR:-/var/lib/benno-web}:/var/lib/benno-web/
Benno MailArchiv kann mit Hilfe von Docker-Compose gestartet werden:
docker-compose up -d
In der Voreinstellung bildet das Compose-File die Umgebung einer Benno MailArchiv Installation auf dem Hostsystem ab, so daß die Pfade außerhalb des Containers den Pfaden einer Standard-Installation entsprechen.
Die einzelnen Pfade können über die entsprechenden Umgebungsvariablen individuell konfiguriert werden. Die voreingstellten Pfade können mit Hilfe der Umgebungsvariablen an die lokale Umgebung angepasst werden.
Auf dem Hostsystem sollte ein Webserver wie z.B. Apache installiert werden. Der URL-Pfad zum Web-Interface in den Container wird mit Hilfe einer Reverse-Proxy Konfiguration gemappt.
Hierfür wird die Datei /etc/apache2/conf-available/benno-docker.conf
erstellt.
# # Benno Webinterface Docker Mapping # ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" ProxyPass /benno http://127.0.0.1:22080/benno ProxyPassReverse /benno http://127.0.0.1:22080/benno
Anschließend werden das proxy_http Modul die Konfiguration aktiviert.
a2enmod proxy_http a2enconf benno-docker systemctl restart apache2
Beim ersten Start des Containers wird automatsich ein Passwort für den Benutzer „admin“ generiert. Das Passwort ist in der Datei $WEBCONF_DIR/pw_admin.txt abgelegt. Diese Datei sollte anschließend gelöscht werden.
Die Konfigurationsdateien
/etc/apache2/apache2.conf
/etc/benno-web/benno.conf
/etc/benno-web/ldapauth.conf
/etc/msmtprc
werden beim Start des Containers generiert. Hierbei werden die folgenden Einstellungen aus den entsprechenden Umgebungsvariablen gesetzt:
/etc/benno-web/ldapauth.conf
/etc/msmtprc
Falls eine Konfigurationsdatei manuell geändert wurde und beim Start nicht überschrieben werden soll, wird hierfür eine entsprechende .keep-Datei angelegt. Beim Start des Containers bleibt die angepasste Konfigurationsdatei dann unverändert. Die generierten Daten dann in die .keep-Datei geschrieben.
Beispiel
# touch /etc/benno-web/benno.conf.keep
Im Docker-Container ist ein MILTER Daemon gestartet. Auf dem Hostsystem ist hierfür der Port 22500 gebunden und kann direkt aus dem MTA per TCP Socket angesprochen werden.
Im Container bennomailarchiv/applicance ist die SMTP Schnittstelle von benno-smtp installiert, aber nicht aktiv. Diese kann parallel in einem zusätzlichen Container per Composer gestartet werden. — Cred.: Tammo Schülke, REDLINK GmbH
services: benno-smtp: image: bennomailarchiv/appliance entrypoint: - /usr/bin/java - -Dlog4j.configuration=/etc/benno-smtp/bennosmtp-log4j.xml - -server - -jar - /opt/benno-smtp/bennosmtp.jar - -c - /etc/benno-smtp/benno-smtp.conf volumes: - ${INBOX_DIR:-/srv/benno/inbox}:/srv/benno/inbox/ restart: always ports: - 2500:2500