Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| docker [2020/12/11 16:46] – angelegt lwsystems | docker [2025/03/14 08:06] (aktuell) – [Benno MailArchiv als Docker Container einrichten] lwsystems | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Docker Image ====== | + | ====== |
| + | |||
| + | Benno MailArchiv steht auch als Docker-Image [[https:// | ||
| + | |||
| + | **Bitte beachten Sie auch unsere [[gesetzeskonforme_e-mail-archivierung|Hinweise zur rechtssicheren bzw. GoBD-konformen Mailarchivierung]]!** | ||
| + | |||
| + | ===== Manueller Start ===== | ||
| + | |||
| + | < | ||
| + | docker run --name bma \ | ||
| + | --volume / | ||
| + | --volume / | ||
| + | --volume / | ||
| + | --volume / | ||
| + | --volume / | ||
| + | --volume / | ||
| + | -p 20022:22 -p 20080:80 -p 22500:22500 \ | ||
| + | bennomailarchiv/ | ||
| + | </ | ||
| - | Benno MailArchiv steht auch als Docker-Image [[https:// | ||
| - | ====== Installation ====== | ||
| ===== docker-compose ===== | ===== docker-compose ===== | ||
| - | Das Image kann mit Hilfe von // | + | Das Image kann mit Hilfe von // |
| Hiefür wird das folgende Compose-File angelegt: | Hiefür wird das folgende Compose-File angelegt: | ||
| - | < | + | < |
| version: ' | version: ' | ||
| services: | services: | ||
| benno: | benno: | ||
| - | image: bennomailarchiv/ | + | image: bennomailarchiv/ |
| ports: | ports: | ||
| - | - "23080:80" | + | - "22080:80" |
| - | - " | + | - " |
| - | - " | + | - " |
| restart: always | restart: always | ||
| volumes: | volumes: | ||
| - | - ${ARCHIVECONF_DIR: | + | - ${ARCHIVECONF_DIR: |
| - ${ARCHIVE_DIR: | - ${ARCHIVE_DIR: | ||
| - ${SYSTEM_DIR: | - ${SYSTEM_DIR: | ||
| Zeile 33: | Zeile 49: | ||
| docker-compose up -d | docker-compose up -d | ||
| + | |||
| + | ==== Installation mit Docker-Compose und Traefik ==== | ||
| + | |||
| + | Eine erweiterte Installation von Benno MailArchiv in Docker mit Hilfe von Docker-Compose und Traefik als Reverse-Proxy ist bei [[https:// | ||
| ===== Volume-Mapping ===== | ===== Volume-Mapping ===== | ||
| Zeile 41: | Zeile 61: | ||
| Die voreingstellten Pfade können mit Hilfe der Umgebungsvariablen an die lokale Umgebung angepasst werden. | Die voreingstellten Pfade können mit Hilfe der Umgebungsvariablen an die lokale Umgebung angepasst werden. | ||
| - | * BENNOCONF_DIR: Benno Archiver Konfiguration (/ | + | * ARCHIVECONF_DIR: Benno Archiver Konfiguration (/ |
| - | * REPO_DIR: [[begriffsbestimmungen# | + | * ARCHIVE_DIR: [[begriffsbestimmungen# |
| * SYSTEM_DIR: Systemdaten (/ | * SYSTEM_DIR: Systemdaten (/ | ||
| - | * INBOX_DIR: [[begriffsbestimmungen# | + | * INBOX_DIR: [[begriffsbestimmungen# |
| * LOG_DIR: Log-Dateien (/ | * LOG_DIR: Log-Dateien (/ | ||
| * WEBCONF_DIR: | * WEBCONF_DIR: | ||
| * WEBLIB_DIR: Datenbank des Web-Interfaces (/ | * WEBLIB_DIR: Datenbank des Web-Interfaces (/ | ||
| + | |||
| + | ====== Inbetriebnahme ====== | ||
| + | |||
| + | ===== Web-Interface ===== | ||
| + | |||
| + | 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 ''/ | ||
| + | |||
| + | < | ||
| + | # | ||
| + | # Benno Webinterface Docker Mapping | ||
| + | # | ||
| + | ProxyPreserveHost On | ||
| + | RequestHeader set X-Forwarded-Proto " | ||
| + | |||
| + | ProxyPass | ||
| + | ProxyPassReverse /benno http:// | ||
| + | </ | ||
| + | |||
| + | Anschließend werden das // | ||
| + | |||
| + | a2enmod proxy_http | ||
| + | a2enconf benno-docker | ||
| + | systemctl restart apache2 | ||
| + | |||
| + | === Admin-Login === | ||
| + | |||
| + | Beim ersten Start des Containers wird automatsich ein Passwort für den Benutzer "// | ||
| + | |||
| + | === Konfigurationsdateien === | ||
| + | |||
| + | Die Konfigurationsdateien | ||
| + | |||
| + | * ''/ | ||
| + | * ''/ | ||
| + | * ''/ | ||
| + | * ''/ | ||
| + | |||
| + | werden beim Start des Containers generiert. Hierbei werden die folgenden Einstellungen aus den entsprechenden Umgebungsvariablen gesetzt: | ||
| + | |||
| + | * ''/ | ||
| + | * host = ### | ||
| + | * basedn = ### | ||
| + | * tls = ### | ||
| + | * binddn = ### | ||
| + | * password = ### | ||
| + | * ''/ | ||
| + | * host ### | ||
| + | * port ### | ||
| + | * from bennomailarchiv.### | ||
| + | * user ### | ||
| + | * password ### | ||
| + | |||
| + | == Konfiguration sichern == | ||
| + | |||
| + | |||
| + | 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 / | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ====== Mail-Import ====== | ||
| + | |||
| + | ===== MILTER ===== | ||
| + | |||
| + | Im Docker-Container ist ein [[mail-import_via_milter|MILTER]] Daemon gestartet. Auf dem Hostsystem ist hierfür der Port 22500 gebunden und kann direkt aus dem MTA per [[mail-import_via_milter# | ||
| + | |||
| + | |||
| + | ===== benno-smtp ===== | ||
| + | |||
| + | Im Container // | ||
| + | --- //Cred.: Tammo Schülke, REDLINK GmbH// | ||
| + | |||
| + | <file yml> | ||
| + | services: | ||
| + | benno-smtp: | ||
| + | image: bennomailarchiv/ | ||
| + | entrypoint: | ||
| + | - / | ||
| + | - -Dlog4j.configuration=/ | ||
| + | - -server | ||
| + | - -jar | ||
| + | - / | ||
| + | - -c | ||
| + | - / | ||
| + | volumes: | ||
| + | - ${INBOX_DIR: | ||
| + | restart: always | ||
| + | ports: | ||
| + | - 2500:2500 | ||
| + | </ | ||