Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR

Jellyfin-Medienserver: NVIDIA-GPU-Transcoding und Nginx-TLS

Jellyfin mit Docker auf Ubuntu bereitstellen: Medienrechte, Nginx-HTTPS, NVIDIA Container Toolkit, NVENC/NVDEC, Fernzugriff, Backup und GPU-Prüfung.

Jellyfin-Medienserver: NVIDIA-GPU-Transcoding und Nginx-TLS
Was läuft am Ende dieser Anleitung?

Jellyfin mit Docker auf Ubuntu bereitstellen: Medienrechte, Nginx-HTTPS, NVIDIA Container Toolkit, NVENC/NVDEC, Fernzugriff, Backup und GPU-Prüfung. Beispiel-Domains, Passwörter und Secrets müssen vor der Ausführung durch eigene Werte ersetzt werden.

Architektur und Anforderungen vor der Installation

  • Ubuntu 24.04 LTS mit sudo-Zugriff und eigener IPv4-Adresse
  • Docker Engine und Compose v2 für containerbasierte Bereitstellungen
  • DNS-A-Record vom Anwendungsnamen auf den Server
  • NVMe-Kapazität für Daten, Logs, temporäre Dateien und Backups
  • CPU- und RAM-Reserve anhand gemessener Gleichzeitigkeit

DNS- und Portplan

  • 8096/TCP: Jellyfin HTTP yalnız reverse proxy
  • 8920/TCP: uygulama içi HTTPS kullanılacaksa
  • 7359/UDP: istemci keşfi, yalnız gerekli yerel ağda
  • 1900/UDP: DLNA, yalnız gerekli yerel ağda

Praktische Installationsschritte

1. GPU ve codec denetimi
lspci -nn | grep -Ei "3d|display|vga"
nvidia-smi
ls -l /dev/nvidia*
2. NVIDIA Docker runtime
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed "s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#" | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
3. Compose yapısı
services:
  jellyfin:
    image: jellyfin/jellyfin:10
    container_name: jellyfin
    restart: unless-stopped
    user: "1000:1000"
    ports:
      - 127.0.0.1:8096:8096
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /srv/media:/media:ro
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
4. Dizin izinleri ve başlatma
sudo mkdir -p /opt/jellyfin/config /opt/jellyfin/cache /srv/media
sudo chown -R 1000:1000 /opt/jellyfin
sudo find /srv/media -type d -exec chmod 755 {} \;
sudo docker compose up -d
sudo docker compose ps
5. GPU container testi
sudo docker exec jellyfin nvidia-smi
sudo docker exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -version
sudo docker logs --tail 100 jellyfin
6. Transcode doğrulama
watch -n 1 nvidia-smi
sudo docker exec jellyfin sh -lc "ls -lah /cache/transcodes"
sudo docker logs -f jellyfin | grep -Ei "ffmpeg|nvenc|nvdec|transcod"
7. Yedekleme
sudo docker stop jellyfin
sudo tar -C /opt/jellyfin -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker start jellyfin
sha256sum /root/jellyfin-config-$(date +%F).tar.gz
8. Nginx reverse proxy
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/media.example.com > /dev/null <<'NGINX'
server {
    listen 80;
    listen [::]:80;
    server_name media.example.com;
    client_max_body_size 10G;
    proxy_read_timeout 3600;
    proxy_send_timeout 3600;
    location / {
        proxy_pass http://127.0.0.1:8096;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
NGINX
sudo ln -s /etc/nginx/sites-available/media.example.com /etc/nginx/sites-enabled/media.example.com
sudo nginx -t
sudo systemctl reload nginx
9. Let’s Encrypt SSL ve yenileme testi
sudo certbot --nginx -d media.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://media.example.com
openssl s_client -connect media.example.com:443 -servername media.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates

Wichtige Punkte vor dem Produktivbetrieb

Produktionshinweis
Jellyfin-Medienserver muss hinter HTTPS isoliert werden; Datenbank, Queue und interne APIs dürfen nicht direkt im Internet veröffentlicht werden.
Produktionshinweis
Vor Produktion getestete Image-Versionen fixieren. Vor Migrationen Release Notes lesen und ein konsistentes Backup erstellen.
Produktionshinweis
Ein Datenbank-Dump allein kann unvollständig sein. Persistente Dateien, Konfiguration, Schlüssel und exakte Version gemeinsam sichern.
Produktionshinweis
Eine echte Transaktion testen, den Host neu starten und die automatische Wiederherstellung prüfen, bevor produktiver Traffic zugelassen wird.

Häufige Fehler und Ursachen

Belirti / SymptomKök neden ve çözüm / Root cause and fix
Dienst oder Container startet nichtCompose-Konfiguration, Abhängigkeiten, Dateirechte und die erste fatale Logzeile prüfen statt wiederholt neu zu starten.
Domain erreichbar, HTTPS fehlerhaftA/AAAA, Ports 80/443, Proxy-Modus, Zertifikatsprüfung und konkurrierende Reverse Proxies prüfen.
Datenbank oder Queue nicht erreichbarInternen Servicenamen und Credentials prüfen; Datenbankports nicht öffentlich freigeben.
Unter Last instabilRAM-Spitzen, Disk-Latenz, Connection Pools und Worker-Concurrency messen und den Engpass gezielt beheben.

Validierung nach der Installation

  • Alle Dienste laufen und Healthchecks sind erfolgreich
  • Hostname liefert ein gültiges HTTPS-Zertifikat
  • Nur erforderliche Ports sind erreichbar
  • MFA und Notfallzugriff für Administratoren sind eingerichtet
  • Backup-Prüfsummen wurden gespeichert
  • Restore in isolierter Umgebung wurde getestet
  • Keine wiederkehrenden kritischen Fehler in Logs
  • Dienste starten nach einem Host-Neustart automatisch

Offizielle technische Quellen

Passende EKA-Sunucu-Anleitungen

Häufig gestellte Fragen

Ist die Installation produktionsgeeignet?

Ja, nachdem Secrets ersetzt, Zugriffe begrenzt und ein vollständiger Restore erfolgreich getestet wurde.

Reichen Mindestressourcen?

Mindestwerte zeigen nur, dass Software startet. CPU, RAM, IOPS und Speicher anhand echter Last dimensionieren.

Kann Cloudflare verwendet werden?

Ja. Full (strict) TLS sowie Origin-Zertifikat, WebSockets und echte Client-IP korrekt konfigurieren.

Updates automatisch installieren?

Major Releases nicht automatisch installieren. Migrationen prüfen, Backup erstellen und altes Image bereithalten.

Was muss gesichert werden?

Datenbank, Uploads, Volumes, Konfiguration, Schlüssel und genaue Version gemeinsam sichern.

VPS oder GPU-Server?

NVMe-VPS passt für Web-Workloads; Inferenz, OCR-Beschleunigung und Transcoding können eine GPU benötigen.

Kontakt für die Bereitstellung

Jellyfin mit Docker auf Ubuntu bereitstellen: Medienrechte, Nginx-HTTPS, NVIDIA Container Toolkit, NVENC/NVDEC, Fernzugriff, Backup und GPU-Prüfung.

GPU-Server ansehenKontakt für die Bereitstellung
Top