Nach dem Virtual Private Server, der keine dedizierte Hardware zur Verfügung stellt, folgt nun das Root Server Projekt.
Es ist ein Server von Netcup (RS 1000 G9.5) mit Quad Core Prozessor (AMD Epyc 7702) mit 8 GB RAM und 160 GB SSD.
Zunächst wird Arch Linux installiert.
Anschließend wird auf Updates geprüft:
sudo pacman -Syu
Eine weitere Möglichkeit für ein erzwungenes Update, bei der alle Pakete aktualisiert werden, egal ob neuere Version verfügbar oder schon aktuell, bietet folgender Befehl:
sudo pacman -Syyu
Updates waren nach der Neuinstallation jedoch keine vorhanden.
Als Nächstes wird die Firewall (ufw) installiert und eingerichtet:
sudo pacman -S ufw
Port für ssh-login öffnen:
sudo ufw allow ssh # oder sudo ufw allow 22
Die Firewall starten und aktivieren:
sudo systemctl start ufw sudo systemctl enable ufw sudo ufw enable
Texteditor nano installieren
sudo pacman install nano
Installation Docker, Portainer, NGINX Proxy Manager mit nur einem Skript:
Erstellen des Installationsskripts:
nano docker-install.sh
Dort das Skript von dieser Seite einfügen. Speichern und nano beenden.
Dann Berechtigung ändern, damit die Datei ausführbar ist und das Skript zur Installation ausführen:
chmod +x docker-install.sh # ausführen: ./docker-install.sh
Jetzt werden vom Skript ein paar Einstellungen abgefragt:
Anschließend noch Option 1 (full Portainer-CE)
Updates einspielen
Während Installation, diverse Fehlermeldung. Nach Installation ließ sich die Portainer Anmeldeseite leider nicht öffnen…
Neuer Versuch mit Ubuntu
Ubuntu Server 22.04 LTS wird installiert.
anschließend update/upgrade
Firewall:
# die ufw Firewall müsste vorhanden sein, ansonsten installieren: sudo apt install ufw # Firewall anpassen sudo ufw default deny incoming # Ports für Portainer sudo ufw allow 8000,9000,9443/tcp # NGINX Proxy Manager sudo ufw allow 81 # Navidrome sudo ufw allow 4533 # ssh sudo ufw allow 22 sudo ufw allow http sudo ufw allow https # Firewall aktivieren sudo ufw enable
danach Ports überprüfen:
sudo ufw status numbered
Fail2Ban installieren und aktivieren
sudo apt install fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban sudo systemctl status fail2ban
eventuell die Zeitzone überprüfen:
timedatectl status sudo timedatectl set-timezone Europe/Berlin
Damit sind die Grundeinstellungen getätigt. Jetzt kann es mit der eigentlichen Installation der gewünschten Software losgehen. Die Skriptdatei erstellen:
nano docker-install.sh
Das Skript von hier kopieren und in die eben erstellte Datei einfügen, speichern und schließen.
Dann das Skript ausführbar machen:
chmod +x docker-install.sh
und das Skript ausführen:
./docker-install.sh
Nun wird das installierte Betriebssystem abgefragt
anschließend werden die einzelnen Pakete installiert, je nachdem was benötigt wird. In diesem Fall Docker-CE, Compose, NGINX Proxy Manager, Navidrome, Portainer-CE (Full).
Fertig ist die Installation. Zuletzt wird der Server neu gestartet.
Dann geht es an die Einrichtung der installierten Software:
NGINX Proxy Manager wird unter IP:81 aufgerufen und dort ist ein Admin Account anzulegen. Default Login Daten: username -> admin@example.com, password -> changeme.
Portainer wird mit IP:9000 aufgerufen und dort ist ein Admin Account anzulegen, im Prinzip nur ein Passwort festlegen.
Navidrome wird unter IP:4533 aufgerufen und dort ist ein Admin Account anzulegen. Der Container ist nach der Installation jedoch noch nicht gestartet, muss über Portainer gestartet werden.
NGINX PM ist dann noch zu konfigurieren…
Update 11.07.2023
Auf dem Server wurde der Snapshot mit frischem Ubuntu eingespielt.
Aktualisieren und Reste entfernen:
sudo apt update && sudo apt upgrade -y sudo apt autoremove
Firewall (Standard deaktiviert, alles eingehende wird blockiert, ausgehendes erlaubt):
# Ports öffnen für SSH, http, https, Portainer sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 9000 # aktivieren sudo systemctl start ufw sudo systemctl enable ufw sudo ufw enable
Docker:
# installieren sudo apt install docker.io # starten sudo systemctl start docker # automatisch starten nach Neustart sudo systemctl enable docker # testen ob erfolgreich docker –version
Portainer:
# Portainer Volume erstellen sudo docker volume create portainer_data
# Portainer Container herunterladen und starten sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer -–restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Erläuterung dazu: sudo docker run startet einen neuen Docker-Container
-d lässt den Container im Hintergrund laufen
-p 8000:8000 -p 9443:9443 öffnet die Ports 8000 und 9443, die von Portainer verwendet werden (Port 9000 wäre nur für legacy http Support nötig)
–name=portainer gibt dem Container den Namen “portainer“
–restart=always Container startet neu, wenn er aus irgendeinem Grund stoppt
-v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data bindet das Docker-Socket und das zuvor erstellte Volume in den Container ein
portainer/portainer-ce:latest ist das verwendete aktuellste Docker-Image
# Portainer prüfen / Aufruf der Konfigurationsseite: https://die-server-ip:9443
Update 21.07.2023
Nach kleineren und größeren Problemen mit der Funktionsfähigkeit der Installation, wurde der Server auf ein frisch installiertes Ubuntu zurückgesetzt.
Anschließend hat dieses Tutorial mit kleinen Anpassungen am Besten funktioniert und läuft…