Membuat Link Film Online Menjadi Library Lokal Jellyfin dengan Rclone
Dokumen ini menjelaskan cara membuat folder film online menjadi seperti folder lokal agar bisa dibaca oleh Jellyfin tanpa harus mendownload seluruh koleksi film.
1. Konsep Sederhana
Alur sistem:
Website Film (Index MKV)
|
|
Rclone HTTP
|
|
Folder Lokal Virtual
|
|
Jellyfin
Jellyfin tidak membaca internet secara langsung. Jellyfin hanya membaca folder lokal yang dibuat oleh rclone.
2. Membuat Remote Rclone
Masuk konfigurasi rclone:
rclone config
Pilih:
- New remote
- Nama remote: eleaar
- Storage: HTTP
- URL: alamat folder film
Contoh hasil konfigurasi:
[eleaar] type = http url = https://perso.eleaar.fr/serveur/films/Par genre (AllocinΓ©)/
3. Mengecek Remote
Tes apakah rclone bisa membaca isi folder:
rclone ls eleaar: --no-check-certificate
Jika berhasil akan muncul daftar film:
Fantastique/Harry Potter.mkv Science-fiction/Star Wars.mkv Action/Matrix.mkv
4. Membuat Folder Mount
Buat lokasi yang akan dibaca Jellyfin:
mkdir -p /mnt/NAStb/Media/WebMovies
Folder ini menjadi pintu masuk ke koleksi film online.
5. Tes Mount Manual
rclone mount eleaar: /mnt/NAStb/Media/WebMovies \ --allow-other \ --vfs-cache-mode writes \ --dir-cache-time 12h \ --no-check-certificate
Cek isi folder:
ls /mnt/NAStb/Media/WebMovies
Jika muncul folder genre film berarti berhasil.
6. Membuat Service Otomatis
Agar mount aktif otomatis setelah restart server, buat service:
nano /etc/systemd/system/rclone-webmovies.serviceIsi:
[Unit] Description=Rclone WebMovies Mount After=network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/bin/rclone mount eleaar: /mnt/NAStb/Media/WebMovies \ --allow-other \ --vfs-cache-mode writes \ --dir-cache-time 12h \ --no-check-certificate ExecStop=/bin/fusermount -u /mnt/NAStb/Media/WebMovies Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
7. Mengaktifkan Service
systemctl daemon-reload systemctl enable rclone-webmovies systemctl start rclone-webmovies
Cek status:
systemctl status rclone-webmovies --no-pagerJika berhasil:
Active: active (running)
8. Hubungan dengan Jellyfin Docker
Pada setup ini Jellyfin sudah membaca:
Host: /mnt/NAStb/Media Container: /media
Maka folder rclone otomatis terlihat oleh Jellyfin:
/media/WebMovies
Saat membuat Library Jellyfin:
Dashboard
|
Libraries
|
Add Media Library
|
Movies
|
Folder:
/media/WebMovies
9. Menambah Sumber Film Baru
Untuk URL film baru, langkahnya selalu sama:
- Buat remote rclone baru.
- Tes dengan rclone ls.
- Buat folder mount baru.
- Buat service baru dengan nama berbeda.
- Tambahkan folder tersebut ke Jellyfin.
Contoh:
eleaar | /media/WebMovies serverfilm2 | /media/WebMovies2
Kesimpulan
Dengan rclone, server Armbian tidak perlu menyimpan semua film. Rclone hanya membuat "jembatan" antara internet dan Jellyfin.
Hasil akhirnya:
URL Film Online
|
Rclone
|
Folder Virtual Lokal
|
Jellyfin
|
Streaming
Rangkuman Troubleshooting Rclone HTTP Mount untuk Jellyfin Docker
Masalah Awal
Jellyfin hanya menampilkan library WebMovies tetapi tidak menemukan folder maupun film.
Kondisi awal:
Host: /mnt/NAStb/Media/WebMovies
Folder film dapat diakses langsung dari host, contoh:
ls /mnt/NAStb/Media/WebMovies/Fantastic
Namun Jellyfin tidak menampilkan isi folder.
Pemeriksaan Awal
1. Jellyfin bukan service systemd
systemctl status jellyfin Output: Unit jellyfin.service could not be found.
Kesimpulan: Jellyfin berjalan menggunakan Docker.
2. Container Jellyfin ditemukan
docker ps Container: jellyfin/jellyfin:latest Nama: jellyfin
Pemeriksaan Docker Mount
Hasil:
docker inspect jellyfin --format '{{json .Mounts}}'
[
{
"Source":"/mnt/NAStb/Media",
"Destination":"/media"
}
]
Artinya:
| Host | Container Jellyfin |
|---|---|
| /mnt/NAStb/Media | /media |
Masalah Ditemukan
Saat masuk ke container:
docker exec -it jellyfin bash
Path host tidak tersedia:
ls /mnt/NAStb/Media/WebMovies No such file or directory
Karena container hanya mengenal:
/media/WebMovies
Penyebab Utama
Docker Jellyfin sudah berjalan ketika rclone mount belum aktif.
Akibatnya bind mount Docker mengarah ke folder kosong.
Solusi Sementara
Restart container Jellyfin:
docker restart jellyfin
Setelah restart:
docker exec -it jellyfin bash ls -la /media/WebMovies
Hasil:
Action Animation Aventure Fantastique Science-fiction Drama Thriller ...
Jellyfin akhirnya dapat melihat folder rclone.
Solusi Permanen
Membuat systemd memastikan:
- rclone mount aktif lebih dahulu
- Docker berjalan setelah rclone siap
- Jellyfin otomatis membaca mount setelah reboot
Service Rclone Saat Ini
systemctl cat rclone-webmovies.service
[Unit] Description=Rclone WebMovies Mount After=network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/bin/rclone mount eleaar: /mnt/NAStb/Media/WebMovies \ --allow-other \ --vfs-cache-mode writes \ --dir-cache-time 12h \ --no-check-certificate Restart=always RestartSec=10
Dependency Rclone ke Docker
Override dibuat:
/etc/systemd/system/rclone-webmovies.service.d/override.confIsi:
[Unit] Before=docker.service
Dependency Docker ke Rclone
Override Docker dibuat:
/etc/systemd/system/docker.service.d/rclone.confIsi:
[Unit] Requires=rclone-webmovies.service After=rclone-webmovies.service
Status Saat Ini
Pengecekan:
systemctl status docker.serviceMenunjukkan:
Drop-In: /etc/systemd/system/docker.service.d └─ override.conf, rclone.conf
Artinya systemd sudah membaca dependency Docker terhadap rclone.
Langkah Berikutnya
Sebelum reboot lakukan pengecekan:
cat /etc/systemd/system/docker.service.d/rclone.confHarus:
[Unit] Requires=rclone-webmovies.service After=rclone-webmovies.service
Kemudian cek:
systemctl list-dependencies docker.service | grep rcloneTarget:
rclone-webmovies.service
Dan pastikan:
systemctl is-enabled rclone-webmovies.serviceTarget:
enabled
Kesimpulan
- Masalah bukan permission user Jellyfin.
- Jellyfin berjalan di Docker.
- rclone mount sudah benar dengan
--allow-other. - Masalah utama adalah urutan startup: Docker berjalan sebelum rclone mount siap.
- Solusi permanen: membuat dependency systemd antara rclone dan Docker.