Tropic Host

Jellyfin di VPS: memasang server media sendiri

6 min dibaca
Tropic
Jellyfin di VPS: memasang server media sendiri

Jellyfin di VPS: cara membuat server media sendiri

Folder yang penuh dengan video jarang terasa seperti perpustakaan media yang nyaman: nama file tidak konsisten, file subtitle terpisah, dan Anda harus mencari episode yang tepat secara manual. Jellyfin mengubah arsip seperti ini menjadi layanan streaming pribadi dengan poster, deskripsi, profil pengguna, dan progres pemutaran.

Pada saat yang sama, Jellyfin tidak menjual langganan atau menyediakan katalog konten siap pakai. Jellyfin bekerja dengan file milik Anda dan dapat berjalan di komputer rumah, NAS, atau VPS. Di bawah ini, kita akan membahas fitur, persyaratan server, dan pemasangannya di Ubuntu dengan nama domain serta HTTPS.

Apa itu Jellyfin dan mengapa Anda mungkin membutuhkannya

Jellyfin adalah server media gratis dan sumber terbuka. Server mengindeks film, acara TV, musik, foto, dan konten lainnya, sementara aplikasi klien memutarnya di ponsel, komputer, atau televisi.

Setelah memindai folder, Jellyfin mengunduh poster dan deskripsi, mengatur acara berdasarkan musim, mengingat progres pemutaran, dan menampilkan bagian “Continue Watching”. Anda dapat membuat profil lokal terpisah untuk anggota keluarga, membatasi akses ke perpustakaan, dan mengonfigurasi kontrol orang tua. Quick Connect memungkinkan pengguna masuk di televisi dengan kode singkat, tanpa memasukkan kata sandi panjang.

Klien tersedia untuk Android, iOS, Android TV, Roku, webOS, Tizen, Xbox, dan komputer desktop. Jellyfin juga menyediakan antarmuka web dan integrasi Kodi.

Jellyfin juga mendukung musik, IPTV, TV tuner, dan perekaman TV langsung. SyncPlay menyinkronkan pemutaran untuk banyak pengguna, sedangkan plugin menambahkan subtitle, sumber metadata baru, dan integrasi.

Jellyfin tidak mencari atau mengunduh film sendiri. Jellyfin hanya mengatur dan menayangkan konten yang sudah dimiliki pemilik server.

Jellyfin vs. Plex: perbedaan utama

Kedua solusi ini mengubah koleksi lokal menjadi layanan media, tetapi menggunakan model yang berbeda.

ParameterJellyfinPlex
Source codeOpen sourceProprietary
Premium featuresServer dan klien resmi tidak memiliki tingkat berbayarBeberapa fitur bergantung pada paket langganan
Central accountTidak diperlukanMenggunakan ekosistem penyedia
Remote accessPemilik mengonfigurasi domain, reverse proxy, atau VPNMenawarkan lebih banyak mekanisme siap pakai
Control over dataMaksimalSebagian infrastruktur dikendalikan penyedia

Orang memilih Jellyfin karena kemandirian, privasi, dan tidak adanya langganan. Plex mungkin lebih nyaman jika prioritas utama adalah penyiapan sesederhana mungkin dan aplikasi yang konsisten serta rapi di semua perangkat.

Direct Play atau transcoding: apa yang membebani server

Performa Jellyfin lebih sedikit bergantung pada ukuran perpustakaan daripada metode pemutaran.

ModeYang terjadiBeban
Direct PlayServer mengirim file asliRendah
Direct StreamContainer atau satu track diubahRendah atau sedang
TranscodingCodec, resolusi, atau bitrate diubah secara langsungTinggi

Jika televisi mendukung codec, audio, dan subtitle file, server hampir tidak menggunakan CPU. Masalah dimulai ketika klien tidak dapat menangani format tersebut, koneksi memerlukan bitrate lebih rendah, atau subtitle harus dibakar ke dalam gambar. Jellyfin kemudian menjalankan FFmpeg dan melakukan transcoding video secara real time.

4K, HEVC, HDR, dan konversi HDR-ke-SDR sangat menuntut sumber daya. VPS biasa tanpa prosesor grafis mungkin kesulitan meskipun memiliki banyak core CPU virtual. Karena itu, format yang kompatibel dan Direct Play dapat menghemat lebih banyak biaya daripada berpindah ke paket server berikutnya.

Server seperti apa yang dibutuhkan Jellyfin

Rekomendasi resmi untuk instalasi biasa adalah sekitar 8 GB RAM. Di Linux tanpa antarmuka grafis, server kecil dapat berjalan dengan 4 GB. Drive cepat dibutuhkan untuk sistem operasi, database, gambar, cache, dan file sementara; perpustakaan media disimpan secara terpisah dan biasanya menghabiskan sebagian besar ruang.

SkenarioKonfigurasi awalKomentar
Musik dan satu stream Direct Play 1080p2 vCPU, RAM 4 GBKecepatan jaringan dan disk lebih penting
Perpustakaan media keluarga kecil4 vCPU, RAM 8 GBFormat yang kompatibel lebih disarankan
Transcoding 1080p sesekali4–8 vCPU berperforma tinggi atau GPUBeban bergantung pada codec
Beberapa stream 4K/HDRIntel iGPU modern atau kartu grafisVPS biasa yang hanya memakai CPU tidak cocok

Jangan lupa memperhitungkan trafik: stream 20 Mbps mentransfer sekitar 9 GB data per jam. Dengan tontonan setiap hari, pemakaian dapat segera mencapai ratusan gigabyte per bulan.

Server rumah atau VPS

Mini PC atau NAS di rumah lebih hemat biaya untuk koleksi beberapa terabyte dan transcoding perangkat keras secara rutin. Anda dapat memasang drive berkapasitas besar dan memilih prosesor dengan Intel Quick Sync, tetapi akses jarak jauh bergantung pada listrik, koneksi internet rumah, dan ketersediaan alamat IP publik.

VPS memiliki alamat publik, koneksi stabil, dan beroperasi sepanjang waktu. VPS nyaman untuk musik, perpustakaan video kecil, Direct Play, dan pengguna di lokasi berbeda. Keterbatasannya adalah biaya penyimpanan dan tidak adanya GPU pada paket standar.

Ada juga opsi hibrida: file tetap berada di rumah, sedangkan VPS berfungsi sebagai titik masuk yang aman. Penyiapan ini membantu ketika tidak tersedia alamat IPv4 publik, tetapi kecepatan pemutaran tetap dibatasi bandwidth unggah koneksi rumah.

Memasang Jellyfin di Ubuntu dengan Docker Compose

Dalam penyiapan di bawah, Jellyfin dan Caddy berjalan di jaringan Docker yang sama. Port 8096 tidak diekspos ke internet; Caddy menerima koneksi HTTPS dan memperoleh sertifikat secara otomatis.

Pertama, arahkan catatan A domain, misalnya media.example.com, ke alamat IP server.

1. Pasang Docker dan buat direktori

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker

sudo mkdir -p /opt/jellyfin/{config,cache,caddy-data,caddy-config}
sudo mkdir -p /srv/media/{movies,series,music}
cd /opt/jellyfin

2. Buat /opt/jellyfin/compose.yaml

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /srv/media:/media:ro
    networks: [media]

  caddy:
    image: caddy:2
    container_name: jellyfin-caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config
    networks: [media]

networks:
  media:

Opsi :ro memasang perpustakaan media sebagai read-only dan melindungi file asli dari penghapusan tidak sengaja melalui Jellyfin.

3. Buat /opt/jellyfin/Caddyfile

media.example.com {
    reverse_proxy jellyfin:8096
}

Ganti domain dengan domain Anda, jalankan container, dan buka port yang diperlukan:

sudo docker compose up -d

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enable

Jika SSH menggunakan port yang berbeda, izinkan port tersebut dengan aturan terpisah sebelum menjalankan ufw enable.

Setelah sertifikat diterbitkan, buka https://media.example.com. Dalam pengaturan jaringan Jellyfin, tambahkan reverse proxy ke daftar proxy tepercaya agar pembatasan akses eksternal bekerja dengan benar.

Penyiapan awal perpustakaan media

Di wizard penyiapan, pilih bahasa, buat administrator, dan tambahkan perpustakaan:

  • movies — /media/movies;
  • TV shows — /media/series;
  • music — /media/music.

Gunakan nama yang jelas agar identifikasi akurat:

/media/movies/Movie Title (2024)/Movie Title (2024).mkv
/media/series/Series Title (2024)/Season 01/Series Title S01E01.mkv

Buat profil standar terpisah untuk menonton, lalu sembunyikan akun administrator dari layar login. Berikan pengguna akses hanya ke perpustakaan yang dibutuhkan dan jangan izinkan penghapusan file kecuali memang diperlukan.

Pembaruan dan cadangan

Konfigurasi Jellyfin berisi pengguna, pengaturan, database, dan progres pemutaran. Sebelum pembaruan, hentikan container dan simpan direktori config:

cd /opt/jellyfin
sudo docker compose stop jellyfin
sudo tar -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker compose start jellyfin

Pindahkan arsip ke luar VPS. Cadangkan file media secara terpisah.

Untuk memperbarui, jalankan:

sudo docker compose pull
sudo docker compose up -d

Jangan membuka port 8096 secara langsung. Gunakan HTTPS atau VPN, pasang pembaruan secara rutin, dan pantau ruang disk yang tersedia.

Jellyfin di VPS dari tropic.host

Untuk perpustakaan media kecil yang terutama menggunakan Direct Play, Anda dapat memulai dengan Linux VPS ber-RAM 4 GB. Untuk beberapa pengguna, database besar, dan layanan tambahan, 8 GB merupakan pilihan yang lebih masuk akal.

Saat memilih VPS dari tropic.host, evaluasi kapasitas penyimpanan, trafik bulanan, dan kebutuhan transcoding secara terpisah. Server virtual nyaman sebagai endpoint yang selalu tersedia dengan alamat IP publik dan HTTPS, tetapi tidak menggantikan server GPU. Jika membutuhkan beberapa stream 4K/HDR dengan konversi format, server rumah dengan Intel iGPU, server khusus, atau paket khusus dengan kartu grafis merupakan pilihan yang lebih baik.

Anda dapat memulai dengan koleksi kecil, memeriksa persentase sesi Direct Play di dasbor Jellyfin, lalu meningkatkan CPU, RAM, atau penyimpanan berdasarkan beban sebenarnya.

Ringkasan

Jellyfin mengubah koleksi Anda sendiri menjadi layanan streaming pribadi tanpa langganan wajib atau akun pusat. Agar penerapan berhasil, penting untuk memperkirakan penyimpanan, trafik, dan kemungkinan transcoding sejak awal.

Server kecil yang menggunakan Direct Play sering kali dapat berjalan dengan RAM 4–8 GB. Pemutaran 4K/HDR secara rutin memerlukan pemrosesan video perangkat keras. Apa pun konfigurasinya, lindungi akses eksternal dengan HTTPS atau VPN, dan cadangkan pengaturan serta perpustakaan media secara terpisah.

FAQ

Apakah Jellyfin sepenuhnya gratis?

Ya. Server dan klien tersedia tanpa paket premium. Anda hanya perlu membayar perangkat keras, VPS, drive, nama domain, dan trafik.

Apakah Jellyfin menyediakan film dan acara TV yang siap ditonton?

Tidak. Pengguna menambahkan file media milik mereka sendiri.

Bisakah Jellyfin berjalan di VPS tanpa kartu grafis?

Ya, selama sebagian besar file diputar melalui Direct Play. Transcoding 4K dan HDR yang sering dilakukan memerlukan server dengan iGPU atau kartu grafis yang sesuai.

Berapa banyak RAM yang dibutuhkan Jellyfin?

Server Linux kecil dapat berjalan dengan RAM 4 GB. Untuk perpustakaan media keluarga dan beberapa pengguna, 8 GB merupakan target yang lebih baik.

Bagaimana cara mengakses Jellyfin dengan aman melalui internet?

Gunakan domain dan HTTPS melalui reverse proxy, atau gunakan VPN. Jangan membuka port 8096 secara langsung, dan buat akun pengguna terpisah dengan izin minimum.