Vorgeplänkel und warum überhaupt
Es gibt mehrere Varianten, bestimmte Dienste im Heimnetz laufen zu lassen.
Nehmen wir z.B. Jellyfin, kann das ganze auf einer Linux Distribution laufen. Diese kann Teil eines Containers sein oder direkt auf einem PC oder in einer VM installiert werden.
Allerdings gibt es auch z.B. Docker. Docker selber muss allerdings auch erstmal installiert werden, es sei denn ihr nutzt ein fertiges NAS oder anderes System, welches bereits mit Docker ausgestattet ist.
Welche Option für euch am sinnvollsten ist, solltet ihr entscheiden.
Ich selber verwende Proxmox und möchte nun ein paar Dienste installieren, die auch als Docker verfügbar sind, was mir im Idealfall die Installation enorm erleichert.
Da ich darunter auch Jellyfin installieren und meine vorhandene iGPU nutzen möchte, habe ich für mich entschieden, dass die Einrichtung von GPU Passthrough für mich einfacher ist, als unter einem LXC. Außerdem habe ich mich, da es in der Heimserver-Community manchmal Bedenken und Probleme mit Docker/Portainer in einem LXC gibt, erst Recht für eine VM entschieden.
Wie in TrueNAS unter Proxmox beschrieben, muss für das GPU Passthrough zuerst IOMMU eingerichtet werden. Dann kann ganz einfach über die Proxmox GUI eine GPU durchgereicht werden.
Wir installieren nun also eine Linux Distribution unserer Wahl in einer VM, installieren dort Docker und gegebenenfalls Portainer für eine einfachere Verwaltung von Docker per GUI.
Dazu könnt ihr dieser Anleitung folgen: https://www.youtube.com/watch?v=wrlukx-QYRw
Ubuntu Server bekommt ihr hier:
ubuntu.com/download/server
die genutzten Befehle dafür sind:
-
Docker Install:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
-
Portainer Install:
docker volume create portainer_data
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
Unter Einstellungen könnt ihr nach dem installieren in der GUI von Portainer noch eine weitere Template Quelle hinzufügen, öffnet dafür GitHub - Qballjos/portainer_templates: Template file for new portainer setup
Installation versch. Container
Einfach:
Portainer → App Templates → Benutzerdefinierte Templates → Hinzufügen
- Name und Beschreibung wie ihr wollt
- wenn gewünscht bei Logo: https://nginxproxymanager.com/logo.png
- Build Method: Mithilfe des Guides: Nginx Proxy Manager → Version steht hier für Docker Compose Version:
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Die Ports lassen sich ändern, sollten jedoch so enden wie hier also auf 80, 81, 443)
→ “Deploy the stack” und fertig ist es…
Etwas weniger einfach:
NGINX Proxy Manager
Aktualisieren von Portainer
Dazu habe ich hier einen Beitrag geschrieben: