Benutzer-Werkzeuge

Webseiten-Werkzeuge


docker

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
docker [2020/12/11 16:46] – angelegt lwsystemsdocker [2024/02/22 15:34] (aktuell) – [docker-compose] lwsystems
Zeile 1: Zeile 1:
-====== Docker Image ======+====== Benno MailArchiv als Docker Container einrichten ====== 
 + 
 +Benno MailArchiv steht auch als Docker-Image [[https://hub.docker.com/repository/docker/bennomailarchiv/appliance/general|bennomailarchiv]] zur Verfügung. 
 + 
 +**Bitte beachten Sie auch unsere [[gesetzeskonforme_e-mail-archivierung|Hinweise zur rechtssicheren bzw. GoBD-konformen Mailarchivierung]]!** 
 + 
 +====Manueller Start ===== 
 + 
 +<code> 
 +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 
 +</code>
  
-Benno MailArchiv steht auch als Docker-Image [[https://hub.docker.com/repository/docker/bennomailarchiv/current|bennomailarchiv]] zur Verfügung. 
  
-====== Installation ====== 
 ===== docker-compose ===== ===== docker-compose =====
  
-Das Image kann mit Hilfe von //[[https://docs.docker.com/compose/install//|docker-compose]]// gestartet werden.+Das Image kann mit Hilfe von //[[https://docs.docker.com/compose/|docker-compose]]// gestartet werden.
  
 Hiefür wird das folgende Compose-File angelegt: Hiefür wird das folgende Compose-File angelegt:
  
-<file yml>+<file yaml>
 version: '3' version: '3'
 services: services:
     benno:     benno:
-        image: bennomailarchiv/current+        image: bennomailarchiv/appliance
         ports:         ports:
-            - "23080:80" +            - "22080:80" 
-            - "22500:23500+            - "22500:22500
-            - "21080:22080"+            - "21080:21080"
         restart: always         restart: always
         volumes:         volumes:
-            - ${ARCHIVECONF_DIR:-/etc/benno-web}:/etc/benno/+            - ${ARCHIVECONF_DIR:-/etc/benno}:/etc/benno/
             - ${ARCHIVE_DIR:-/srv/benno/archive}:/srv/benno/archive/             - ${ARCHIVE_DIR:-/srv/benno/archive}:/srv/benno/archive/
             - ${SYSTEM_DIR:-/srv/benno/system}:/srv/benno/system/             - ${SYSTEM_DIR:-/srv/benno/system}:/srv/benno/system/
Zeile 41: Zeile 57:
 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 (/etc/benno) +  * ARCHIVECONF_DIR: Benno Archiver Konfiguration (/etc/benno) 
-  * REPO_DIR: [[begriffsbestimmungen#repository|Repo-Verzeichnis]] (/srv/benno/archive/repo)+  * ARCHIVE_DIR: [[begriffsbestimmungen#container|Index- und Repo- Verzeichnis]] (/srv/benno/archive/)
   * SYSTEM_DIR: Systemdaten (/srv/benno/system)   * SYSTEM_DIR: Systemdaten (/srv/benno/system)
-  * INBOX_DIR: [[begriffsbestimmungen#repository|Import-Verzeichnis]] (/srv/benno/inbox)+  * INBOX_DIR: [[begriffsbestimmungen#inbox|Import-Verzeichnis]] (/srv/benno/inbox)
   * LOG_DIR: Log-Dateien (/var/log/benno)   * LOG_DIR: Log-Dateien (/var/log/benno)
   * WEBCONF_DIR: Konfiguration des Web-Interfaces (/etc/benno-web)   * WEBCONF_DIR: Konfiguration des Web-Interfaces (/etc/benno-web)
   * WEBLIB_DIR: Datenbank des Web-Interfaces (/var/lib/benno-web)   * WEBLIB_DIR: Datenbank des Web-Interfaces (/var/lib/benno-web)
  
 +
 +====== 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 ''/etc/apache2/conf-available/benno-docker.conf'' erstellt.
 +
 +<file>
 +#
 +# 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
 +</file>
 +
 +Anschließend werden das //proxy_http// Modul die Konfiguration aktiviert.
 +
 +  a2enmod proxy_http
 +  a2enconf benno-docker
 +  systemctl restart apache2 
 +
 +=== Admin-Login ===
 +
 +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.
 +
 +=== Konfigurationsdateien ===
 +
 +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''
 +    * host = ###LDAP_SERVER_NAME:###LDAP_SERVER_PORT###
 +    * basedn = ###LDAP_BASE###
 +    * tls = ###LDAP_TLS###
 +    * binddn = ###LDAP_HOSTDN###
 +    * password = ###LDAP_PASSWORD###
 +  * ''/etc/msmtprc''
 +    * host ###SMTP_SMARTHOST###
 +    * port ###SMTP_SMARTHOSTPORT###
 +    * from bennomailarchiv.###DOMAINNAME###
 +    * user ###SMTP_USERNAME###
 +    * password ###SMTP_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 /etc/benno-web/benno.conf.keep
 +
 +
 +
 +
 +====== 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#milter_per_tcp-socket|TCP Socket]] angesprochen werden.
 +
 +
 +===== benno-smtp =====
 +
 +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//
 +
 +<file yml>
 +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
 +</file>
docker.1607705190.txt.gz · Zuletzt geändert: 2020/12/11 16:46 von lwsystems