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
- Auf dem Host-System muss folgende Funktionalität für den Windows Server aktiviert werden:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true - Danach kann die Virtualisierung wieder gestartet werden
- Es müssen alle Systemupdates auf dem Windows Server 2022 durchgeführt werden
- Hyper-V installieren:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All - Reboot des Servers
- WSL installieren:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux - Reboot des Servers
- WSL setzen und installieren:
wsl --set-default-version 2wsl --updatewsl --install --no-distribution
- Der Server kann nun anzeigen, dass das Feature
Virtual Machine Platforminstalliert werden soll, wenn man bei der Benachrichtigung den Button klickt, passiert dies automatisch in einer Powershell Konsole.- Alternativ kann dies auch manuell ausgeführt werden:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- Alternativ kann dies auch manuell ausgeführt werden:
Sie können nun mit der Installation von Docker Desktop fortfahren.
Installation von Docker Desktop
- Laden Sie Docker Desktop herunter und führen es normal aus. Nach der Installation muss der Server neu gestartet werden
- Nach dem Neustart startet Docker Desktop automatisch, anderenfalls klicken Sie auf die erstellte Verknüpfung auf dem Desktop
- Bestätigen Sie die Bedingungen
Docker Subscription Service Agreement. - Als Abschluss wird noch nach den Einstellungen gefragt, wählen Sie hier die empfohlenen Einstellungen aus und klicken auf Finish/Abschließen
- Den Survey und ein Docker Login kann übersprungen werden
- Sofern angezeigt, aktualisieren Sie die Anwendung - dies ist unten rechts ersichtlich new udpates available
Maildaemon Containerumgebung installieren und starten
- Kopieren Sie die
docker-compose.ymlDatei in den typischen Zielordner unterD:\otris\OUC-Tools\maildaemon - Öffnen Sie eine Powershell Umgebung und gehen Sie in den Ordner aus 1.
- GitHub Token aus Keepass ('GitHub Token für docker-compose Setup auf Kundensystemen') kopieren und in den nächsten Befehl einfügen
- Führen Sie den folgenden Befehl aus:
echo TOKEN | docker login ghcr.io --username oneunity-development --password-stdin - 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:
docker compose down- fährt aktuell laufende Container herunter- Es muss der freigegebene Image-Tag bei den Diensten eingetragen werden
docker compose pull- dies aktualisiert die Docker Imagesdocker 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-VundVirtualMachinePlatformwurden 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?