Skip to main content

Installation von Maildaemon via Docker

Voraussetzungen

  • Windows Server 2022 und neuer
    • Es muss vorab geprüft werden, ob die Hardware (CPU) und die Systemumgebung eine Nested Virtualization zulassen.
  • Docker Desktop Download

Weitere Informationen

  • Es gibt verschiedene Virtualisierungslösungen, die eine Nested Virtualization unterstützen, darunter Hyper-V und VMWare
  • Die Aktivierung erfolgt in Absprache mit den IT-Administratoren des Kunden

Vorbedingungen, falls der Windows Server virtualisiert ist

Hinweis: Die Anleitung für Nested Virtualization ist hier beispielhaft für Hyper-V angegeben. Für andere Virtualisierungslösungen wie VMWare muss eine entsprechende Anleitung beachtet werden.

⚠️ Sofern der Windows Server 2022 eine virtuelle Maschine ist, muss diese zuerst ausgeschaltet werden

  1. Auf dem Host-System muss folgende Funktionalität für den Windows Server aktiviert werden: Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
  2. Danach kann die Virtualisierung wieder gestartet werden
  3. Es müssen alle Systemupdates auf dem Windows Server 2022 durchgeführt werden
  4. Hyper-V installieren: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
  5. Reboot des Servers
  6. WSL installieren: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  7. Reboot des Servers
  8. WSL setzen und installieren:
    1. wsl --set-default-version 2
    2. wsl --update
    3. wsl --install --no-distribution
  9. Der Server kann nun anzeigen, dass das Feature Virtual Machine Platform installiert werden soll, wenn man bei der Benachrichtigung den Button klickt, passiert dies automatisch in einer Powershell Konsole.
    1. Alternativ kann dies auch manuell ausgeführt werden: Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Sie können nun mit der Installation von Docker Desktop fortfahren.

Installation von Docker Desktop

  1. Laden Sie Docker Desktop herunter und führen es normal aus. Nach der Installation muss der Server neu gestartet werden
  2. Nach dem Neustart startet Docker Desktop automatisch, anderenfalls klicken Sie auf die erstellte Verknüpfung auf dem Desktop
  3. Bestätigen Sie die Bedingungen Docker Subscription Service Agreement.
  4. Als Abschluss wird noch nach den Einstellungen gefragt, wählen Sie hier die empfohlenen Einstellungen aus und klicken auf Finish/Abschließen
  5. Den Survey und ein Docker Login kann übersprungen werden
  6. Sofern angezeigt, aktualisieren Sie die Anwendung - dies ist unten rechts ersichtlich new udpates available

Maildaemon Containerumgebung installieren und starten

  1. Kopieren Sie die docker-compose.yml Datei in den typischen Zielordner unter D:\otris\OUC-Tools\maildaemon
  2. Öffnen Sie eine Powershell Umgebung und gehen Sie in den Ordner aus 1.
  3. GitHub Token aus Keepass ('GitHub Token für docker-compose Setup auf Kundensystemen') kopieren und in den nächsten Befehl einfügen
  4. Führen Sie den folgenden Befehl aus: echo TOKEN | docker login ghcr.io --username oneunity-development --password-stdin
  5. Führen Sie folgenden Befehl aus: docker compose -f docker-compose.yml up -d

Aktualisierung von Maildaemon

Das Update ist denkbar einfach: Gehen Sie in den obigen Zielordner, in dem sich die docker-compose.yml befindet. Danach die docker-compose.yml öffnen und die Versionen aktualisieren. Datei anschließend speichern.

In Powershell folgende Befehle ausführen:

  1. docker compose down - fährt aktuell laufende Container herunter
  2. Es muss der freigegebene Image-Tag bei den Diensten eingetragen werden
  3. docker compose pull - dies aktualisiert die Docker Images
  4. docker compose up -d - dies startet die Container neu und nutzt die neuen Image Versionen

Hinweis zu 2.: Für das Version Pinning muss immer in der docker-compose.yml die spezifische Version der Images eingetragen werden, um sicherzustellen, dass die richtige Version verwendet wird. Dies verhindert Unklarheiten bei Abhängigkeiten und Updates. Im automatisierten MAD-Release wird eine on premise docker-compose erstellt und mit den neuen Tags aktualisiert werden. Diese wird im ZIP-Archiv abgelegt werden, sodass die neuste freigegebene Versionstags daraus kopiert werden können.

⚠️⚠️ Nur das main Image-Tag angeben ist nicht erlaubt

Erlaubtes Beispiel:

  maildaemon-api:
container_name: maildaemon-api
image: ghcr.io/one-unity/maildaemon-api:main-24.2.0-ee7d89d-1722954291463

Fehlerbehandlungen

Erhalten Sie nach der obigen Docker Desktop Installation eine Fehlermeldung innerhalb der Anwendung könnte dies folgende Ursachen haben:

  • Der 1. Schritt aus den Vorbedingungen wurde auf dem Host-System nicht ausgeführt
  • Die optionalen Windows Features Hyper-V und VirtualMachinePlatform wurden nicht installiert
  • Sind alle Systemupdates durchgeführt worden?
  • Wurde nach den letzten Installationsschritten der Server neu gestartet?
  • Sind alle drei WSL Befehle ausgeführt worden?