Install Jellyfin Media Server di NAT VPS


NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola koleksi media pribadi Anda di berbagai perangkat sekaligus memegang kendali penuh atas data Anda. Tidak seperti platform cloud streaming, Jellyfin tidak memiliki tingkatan premium, tidak ada pelacakan (telemetry), dan tidak ada batasan.

Artikel ini membahas mengenai langkah-langkah instalasi Jellyfin di NAT VPS menggunakan Docker Compose, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS.

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk domain Jellyfin.

Sebagai contoh, pada artikel ini akan menggunakan domain jellyfin.tutorial.mdinata.my.id untuk mengakses Jellyfin. Anda bebas mengganti domain sesuai pilihan Anda. Catat domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

Jika bingung, silahkan membaca artikel kami mengenai domain forwarding di sini: Penjelasan Domain Forwarding di NAT VPS.

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Vaultwarden.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

Install Jellyfin

Pertama, buat direktori baru untuk Jellyfin:

mkdir /opt/jellyfin
cd /opt/jellyfin

 

Kemudian, buat file Docker Compose:

apt install nano -y # Jika belum
nano docker-compose.yml

Isi dengan konfigurasi berikut:

# 
# Reference: 

services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=0 # root
      - PGID=0 # root
      - TZ=Asia/Jakarta
    volumes:
      - ./config:/config
      - ./media:/data
    ports:
      - 8096:8096
    restart: unless-stopped

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.

Terakhir, jalankan Jellyfin

docker compose up -d

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh image Jellyfin , serta mengonfigurasinya dari awal.

Konfigurasi NGINX (Reverse Proxy)

Jellyfin memerlukan koneksi terenkripsi menggunakan HTTPS demi keamanan password yang disimpan. Agar kita dapat mengakses URL dengan HTTPS melalui domain seperti https://jellyfin.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
apt purge apache2* -y

# Install NGINX
apt install nginx -y

Buat konfigurasi host baru khusus untuk Jellyfin:

nano /etc/nginx/sites-available/jellyfin

Kemudian tempelkan konfigurasi berikut:

# 
# Reference: 

server {
      listen 80;
      server_name jellyfin.tutorial.mdinata.my.id;

      access_log /var/log/nginx/jellyfin.access;
      error_log /var/log/nginx/jellyfin.error;

      location / {
          proxy_pass 
          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 X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;

          # Disable buffering when the nginx proxy gets very resource heavy upon streaming
          proxy_buffering off;
      }

      location /socket {
          # Proxy Jellyfin Websockets traffic
          proxy_pass 
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          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 X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;
      }

        # Security / XSS Mitigation Headers
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";

}

Ganti jellyfin.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/

# Restart NGINX
systemctl restart nginx

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d jellyfin.tutorial.mdinata.my.id

Ganti jellyfin.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Vaultwarden saat ini dapat diakses melalui koneksi aman HTTPS.

Mengakses Jellyfin

Jellyfin dapat diakses melalui domain Anda sebelumnya. Contoh: https://jellyfin.tutorial.mdinata.my.id.

Penutup

Demikianlah artikel ini mengenai langkah-langkah install Jellyfin di NAT VPS.

Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

Agen234

Agen234

Agen234

Berita Terkini

Artikel Terbaru

Berita Terbaru

Penerbangan

Berita Politik

Berita Politik

Software

Software Download

Download Aplikasi

Berita Terkini

News

Jasa PBN

Jasa Artikel

News

Breaking News

Berita

More From Author

392 Kalurahan di DIY menjadi bagian dari proyek KDMP, Pemerintah Gelar Rapat Koordinasi Strategis