Docker Container Setup für Hetzner
Im Folgenden wird erklärt, wie der i-net HelpDesk in der Hetzner-Cloud installiert werden kann.
Hetzner Setup
Stand 2023-06
Dieses Setup geht davon aus, dass bereits Zugriff auf die Konsole von Hetzner besteht. Für diese Anleitung wird eine neues Projekt erstellt und darin ein i-net HelpDesk Docker gestartet.
Server hinzufügen
Direkt nach dem Anlegen können wir einen neuen Server hinzufügen. Nach Auswahl des Standorts kann entweder ein Betriebssystem oder eine App gewählt werden. Wir verwenden die App Docker CE als Startpunkt.
Die restlichen Einstellungen bleiben bestehen:
-
Typ: CPX21 - 3 Kerne, 4GB Ram, 80GB Festplatte
-
Networking: IPv4 und IPv6
-
SSH-Keys: Wenn man einen hat, erleichtert dies das Setup, sonst benötigt man das Kennwort, was per E-Mail kommt.
-
Volumes: Keine
-
Firewall: Wir werden den Server öffentlich betreiben. Es lohnt sich also, eine Firewall zu erstellen, die nur Port 22, 80 und 443 erlaubt. Damit sind nur SSH und die Webserver-Ports offen.
-
Backups: Werden erstmal nicht benötigt
-
Platzierungsgruppen: Werden erstmal nicht benötigt
-
Labels: Werden erstmal nicht benötigt
-
Cloud config: Wird erstmal nicht benötigt
-
Name: Etwas aussagekräftiges
Am Ende wird der Server Kostenpflichtig bestellt. Er wird im Monat knapp 9€ kosten - inkl. IPv4.
System einrichten
In der Server Übersicht sehen wir schon die IP Adressen, sowie ein paar Leistungsdaten des Servers. Hier befindet sich auch eine Schaltfläche, um die Konsole auf dem Server zu starten. Mit der Konsole kommt man jederzeit ohne SSH an den Server, benötigt aber das Root-Kennwort. Wenn man den SSH-Key bei der Einrichtung des Servers verwendet hat, verwendet man eine andere SSH Shell, z.b. Putty und verbindet sich jetzt mit Server.
Die Server IP sowie den vorläufigen FQDN findet man im Networking-Tab der Konsole.
Hinweis: Wenn man einen SSH-Schlüssel verwendet hat, sollte man das Root-Kennwort mit Hilfe des passwd
Befehls direkt ändern. Wenn man sich mit dem per E-Mail zugeschickten Passwort anmeldet, wird man ebenfalls gezwungen, das Passwort zu ändern. Hier ist dringend ein starkes Passwort zu verwenden, da der SSH Port des Servers offen im Internet ist.
Docker überprüfen
Nun sollten direkt die Befehle docker
und docker compose
ausprobiert werden. Sie sollten mit positiven Ausgaben reagieren. Damit sind wir startbereit.
Nun legen wir zwei Ordner an, in die die Datenbank und der HelpDesk Server seine persistenten Daten ablegen:
mkdir -p /srv/i-net-helpdesk/{persistence,mysql} chown -R 1000:1000 /srv/i-net-helpdesk
Hinweis: Wir ändern für den Ordner direkt den Benutzer und die Gruppe auf 1000 - es gibt diesen Benutzer nicht im System, was OK ist. Der i-net HelpDesk Container läuft später mit diesem Benutzer, der vom System eingeschränkt ist.
i-net HelpDesk starten
Für den Start des i-net HelpDesk verwenden wir eine docker-compose.yml
Datei. Diese enthält die gesamte Konfiguration um den Server mit der Datenbank in einem Rutsch zu starten. Im Anschluss läuft dieser bereits und kann direkt zugegriffen werden.
cd /srv/i-net-helpdesk # fetch the default i-net HelpDesk docker-compose.yml curl -fsSL "https://github.com/i-net-software/i-net-software/raw/main/i-net%20HelpDesk/docker-compose.yml" -o docker-compose.yml # start the server docker compose up -d
Logging
Falls man jetzt die Logausgaben kontrollieren möchte, verwendet man:
docker compose logs -f
Hier läuft die Installation des i-net HelpDesk automatisch durch.
i-net HelpDesk einrichten
Nachdem die automatische Installation beendet ist, kann man den Server bereits mit der URL in der Hetzner-Konsole öffnen und sich am i-net HelpDesk anmelden.
Hinweis: Der Server läuft bereits jetzt mit SSL, aber einem Zertifikat, dem man zunächst vertrauen muss. Also, am Besten, die URL mit https://
aufrufen.
Hinweis: Der Server hat noch keinen Benutzer konfiguriert. Man muss also die Funktion Registrieren
verwenden.
Weitere Schritte
-
Der Server braucht einen anderen FQDN, mit dem dann auch Let's Encrypt möglich ist.
-
Posteingang und Ausgang konfigurieren
-
Grundeinrichtung
-
Backups einrichten