Jinsi ya kusakinisha Jellyfin kwenye VPS kwa Docker
Jifunze kusakinisha Jellyfin kwenye VPS kwa kutumia Docker. Mwongozo huu unaelezea jinsi ya kudhibiti ruhusa za faili na kuzuia matatizo ya CPU transcoding wakati wa utiririshaji.
Unachojenga
Seva ya media ya Jellyfin kwenye VPS: kontena moja, volumu tatu, na diski ya block-storage inayohifadhi filamu na vipindi vyako, inayoweza kufikiwa kutoka kwa kivinjari chochote au programu ya Jellyfin. Usakinishaji huu unatumia faili ya compose yenye mistari kumi na tano. Kila tatizo linalotokea baadaye hutokana na maeneo mawili: ruhusa za faili ambazo kontena haiwezi kuzisoma, na kuilazimisha VPS isiyo na GPU kufanya transcoding ya video ambayo haina uwezo wa kuifanya. Mwongozo huu unatumia muda mwingi kwenye mambo hayo mawili, kwa sababu ndipo tiketi za usaidizi zinapozuka.
Jellyfin ni ya bure na ni open source kikamilifu, haina akaunti, haina vipengele vya kulipia, na haina telemetry, ndiyo sababu inaonekana kwenye karibu kila orodha ya vitu vinavyofaa kujihostia mwaka 2026. Inacheza media unayomiliki. Haileti maudhui yoyote, na mwongozo huu hauhusu jinsi ya kupata maudhui hayo.
Ukweli kuhusu transcoding, kabla ya kukodisha chochote
Soma hili kwanza, kwa sababu linabadilisha kile unachonunua. Media server hufanya moja ya mambo mawili unapobonyeza play. Direct play hutiririsha faili kama ilivyo: VPS husoma baiti kutoka kwenye diski na kuzituma kwenye mtandao, jambo ambalo halitumii CPU kabisa. Transcoding hubadilisha umbizo la video papo hapo, iwe ni resolution mpya, codec mpya, au subtitles zilizochomekwa, na hii ni kazi ya CPU pekee.
VPS ya kawaida haina GPU. Kwa hivyo, kila transcode huendeshwa kwenye CPU kwa kutumia libx264/libx265, na encoding ya programu ni nzito. Transcode moja ya 1080p H.264 inaweza kutumia vCPU nyingi zilizoshirikiwa; transcode ya 4K au HEVC kwa kawaida haiwezi kwenda sambamba na muda halisi, hivyo uchezaji hukwama na ku-buffer milele. Hardware transcoding, kitu kinachofanya hii kuwa rahisi kwenye kompyuta ya nyumbani yenye Intel iGPU au kadi ya Nvidia, haipatikani kwako isipokuwa mtoa huduma wako akodishe instances zenye GPU.
Mkakati mzima kwenye VPS kwa hivyo ni: epuka transcoding. Hifadhi maktaba yako katika codecs ambazo wateja wako hucheza kiasili, video ya H.264, sauti ya AAC au AC3, ndani ya container ya MP4 au MKV, na chagua programu za wateja zinazofanya direct-play: programu asilia za Jellyfin kwa Android TV, iOS na Roku, pamoja na Infuse, Kodi, na Jellyfin Media Player ya desktop. Fanya hivyo na VPS haitawahi kugusa ffmpeg, na mashine ya kawaida ya 2 vCPU itatiririsha kwa watu kadhaa kwa wakati mmoja. Ukipanga kufanya transcode utahitaji mashine kubwa zaidi na ya gharama, na hata hivyo 4K ni chaguo lisilo na uhakika.
Fanya pia hesabu ya bandwidth, kwa sababu hiyo ndiyo mshangao mwingine. Direct play hutuma faili kwa bitrate yake yenyewe. Faili ya 1080p iliyobanwa hutumia 8-12 Mbps; 1080p Blu-ray remux hutumia 20-30 Mbps; 4K HDR hutumia 40-80 Mbps. Watu watatu wanaofanya direct play ya faili za 10 Mbps hutumia 30 Mbps za upload zinazoendelea kutoka kwenye VPS yako. Kwenye mpango wako, kagua namba mbili: kasi ya port (inaweza kutuma 30 Mbps upstream?) na kikomo cha transfer cha kila mwezi. Filamu moja ya saa mbili yenye 10 Mbps ni takriban 9 GB ya data inayotoka, kwa hiyo allowance ya 1 TB/mwezi yenye kipimo inatosha kwa filamu zaidi ya mia moja kwa mwezi, filamu tatu au nne kwa siku, na kaya inayotazama 4K, kwa bitrate iliyo mara nne hadi nane zaidi, itamaliza allowance hiyo kwa kasi zaidi. Hesabu pia kila kitu kingine kinachotuma traffic kutoka kwenye mashine hiyo hiyo dhidi ya bajeti hiyo hiyo, ikiwemo relay ya RustDesk unayojiendeshea, ambayo hubeba session nzima ya remote desktop wakati peers wawili hawawezi kuunganishwa moja kwa moja.
Mahitaji ya awali
- VPS ya KVM yenye Ubuntu 24.04 mpya ikiwa na ufikiaji wa root au sudo, pamoja na Docker na Compose plugin iliyosakinishwa.
- Volume ya block-storage kwa ajili ya media, yenye ukubwa unaolingana na maktaba yako (angalia ukubwa hapa chini). Diski ndogo ya root inayokuja na VPS si mahali sahihi pa kuhifadhi filamu zako.
- Jina la domain ikiwa unataka ufikiaji wa HTTPS kwa umma, au WireGuard VPN kwenye VPS hiyo hiyo ikiwa ungependelea kuweka kila kitu kiwe cha faragha.
- Media ambayo una haki ya kisheria ya kuitiririsha, nakala zako ulizojitengenezea, rekodi zako mwenyewe, au faili unazomiliki.
Pandisha block storage kwanza
Unganisha volume kwenye paneli ya mtoa huduma wako, kisha itafute na uipandishe. Pata jina la kifaa kutoka lsblk, litakuwa kitu kama /dev/sdb au /dev/vdb, kamwe lisiwe diski ya root.
lsblk
sudo mkfs.ext4 /dev/sdb # ONLY on a new, empty volume — this ERASES it
sudo mkdir -p /mnt/media
sudo blkid /dev/sdb # copy the UUID shown for this deviceIpandishe kwa kutumia UUID, si kwa /dev/sdb, kwa sababu herufi za vifaa hubadilika mpangilio baada ya reboot na unaweza kujikuta unafuta au kupandisha diski isiyo sahihi. Ongeza mstari mmoja kwenye /etc/fstab:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/media ext4 defaults,nofail 0 2sudo mount -a
df -h /mnt/medianofail ni muhimu: bila hiyo, ikiwa block volume itatenganishwa, seva itakataa kuwaka na itaingia kwenye emergency shell. Kosa kubwa zaidi hapa ni kuendesha mkfs.ext4 kwenye volume ambayo tayari ina data, kwani itafuta kila kitu. Fomati volumes mpya pekee; ikiwa diski tayari ina maktaba yako, ruka moja kwa moja hadi kwenye mstari wa fstab.
Panga maudhui ya media kwa namna Jellyfin inavyotarajia
Jellyfin inalinganisha metadata kwa kutumia majina ya folda na faili. Ukikosea mpangilio, filamu zitaonekana kama faili zisizo na majina na bila bango, au kipindi cha mfululizo kitatambuliwa vibaya. Kuna sheria tatu kamili: kila filamu inapaswa kuwa kwenye folda yake ya Name (Year) yenye jina linalolingana; folda za misimu (seasons) lazima ziitwe Season 01, si S01; faili za vipindi hutumia S01E01; na vipindi maalum (specials) huwekwa kwenye Season 00.
/mnt/media
├── Movies
│ ├── Blade Runner (1982)
│ │ └── Blade Runner (1982).mkv
│ └── Arrival (2016)
│ └── Arrival (2016).mkv
└── Shows
└── Severance (2022)
├── Season 01
│ ├── Severance - S01E01.mkv
│ └── Severance - S01E02.mkv
└── Season 00
└── Severance - The Lexington Letter.mkv(Year) kwenye filamu si mapambo, inasaidia kutofautisha matoleo mapya (remakes) ili mfumo utambue kichwa sahihi cha filamu. Weka Movies na Shows kama folda kuu mbili tofauti kwa sababu kila moja inakuwa maktaba ya Jellyfin ya aina fulani ya maudhui, na kuchanganya maudhui hayo huchanganya mtoa huduma wa metadata. Jellyfin inaweza kuorodhesha folda ya tatu ya picha bila shida, lakini uzoefu wake ni mdogo ikilinganishwa na seva iliyoundwa mahususi kwa ajili ya picha. Hivyo, ikiwa albamu zako ni muhimu, ziweke kwenye seva nyingine inayotumia PhotoPrism au Immich na uiache hii kwa ajili ya filamu na vipindi vya televisheni pekee.
Ruhusa: sababu kuu inayofanya maktaba kuonekana tupu
Hii ndiyo dhana potofu inayowapotezea watu jioni nzima. Picha rasmi ya jellyfin/jellyfin haiheshimu vigezo vya mazingira vya PUID/PGID, hivyo ni vya picha ya LinuxServer.io (lscr.io/linuxserver/jellyfin). Kwenye picha rasmi, unadhibiti mtumiaji kwa kutumia ufunguo wa user: katika compose, na ukiiacha, kontena huendeshwa kama root. Vyovyote utakavyotumia, kanuni ni ile ile: uid/gid ambayo kontena huendeshwa nayo lazima iweze kusoma na kupitia kila saraka ya midia.
Tutajiendesha kama uid/gid 1000, mtumiaji wa kwanza asiye root kwenye mfumo wa kawaida wa Ubuntu. Thibitisha yako na uweke umiliki:
id # confirm your user is uid=1000 gid=1000
sudo chown -R 1000:1000 /mnt/media
sudo find /mnt/media -type d -exec chmod 755 {} \;
sudo find /mnt/media -type f -exec chmod 644 {} \;
mkdir -p ~/jellyfin/config ~/jellyfin/cache
sudo chown -R 1000:1000 ~/jellyfinSaraka zinahitaji biti ya execute (x katika 755), si kusoma pekee; bila hiyo, kontena haliwezi kuingia kwenye folda hata kama linaweza kuorodhesha jina lake. Mtego unaofanya maktaba nzima kuwa tupu ni folda kuu: ikiwa uid ya kontena haiwezi kupitia sehemu iliyopachikwa (mount), haitafika kamwe kwenye /media/Movies au /media/Shows, na kila maktaba itaonekana tupu mara moja huku Access to the path ... is denied ikionekana kwenye logi. Folda yoyote ya midia ambayo haiwezi kusomwa huwekwa kwenye logi na kurukwa, kwa hivyo kundi la faili zilizokopiwa kama root hupotea kimya kimya kutoka kwenye maktaba. Hii ndiyo sababu tunafanya chown kwa njia ya recursive na kuweka biti ya execute kwenye kila saraka badala ya kurekebisha folda moja moja.
Faili la docker-compose
services:
jellyfin:
image: jellyfin/jellyfin:10
container_name: jellyfin
user: "1000:1000"
restart: unless-stopped
ports:
- "127.0.0.1:8096:8096"
volumes:
- ./config:/config
- ./cache:/cache
- /mnt/media:/media:ro
environment:
- JELLYFIN_PublishedServerUrl=https://jellyfin.example.comMstari kwa mstari: user: "1000:1000" ndiyo inayoweka ruhusa za faili, ikilingana na umiliki uliotajwa hapo juu. /config inashikilia seva nzima, akaunti, maktaba, metadata, hali ya utazamaji, kwa hivyo lazima iweze kuandikika na ndiyo kitu unachopaswa kuhifadhi (backup). /cache ni nafasi ya kazi ya muda. Mlima wa media ni :ro (read-only) kwa makusudi: Jellyfin ina desturi ya kuhifadhi picha na metadata chini ya /config, kwa hivyo haihitaji kamwe kuandika kwenye maktaba yako, na hali ya read-only inalinda faili zako dhidi ya kufutwa kwa bahati mbaya au plugin mbaya. Port imefungwa kwenye 127.0.0.1 kwa makusudi, login ya wavuti ya Jellyfin ni HTTP ya kawaida, kwa hivyo hatuchapishi kamwe 8096 kwenye mtandao wa umma. JELLYFIN_PublishedServerUrl ni anwani ambayo seva inatangaza kwa ajili ya utambuzi wa ndani (autodiscovery), matangazo ya LAN UDP, kwa hivyo wateja walio kwenye mtandao wa umma hawaiioni kamwe na wanatumia tu URL unayoiingiza kwenye programu. Iweke kwenye anwani ambayo wateja wanapaswa kuambiwa, na tarajia kuingiza URL hiyo kwa mkono kwenye vifaa vya mbali.
Ianzishe kutoka kwenye saraka ya compose:
docker compose up -d
docker logs -f jellyfinUendeshaji wa kwanza: mchawi wa usanidi na maktaba zako
Kwa sababu port imefungwa kwenye localhost, fikia mchawi kupitia SSH tunnel kutoka kwenye laptop yako badala ya kufungua tundu kwenye firewall:
ssh -L 8096:127.0.0.1:8096 you@your-vps-ipSasa nenda kwenye http://localhost:8096. Mchawi atakuongoza kuchagua lugha, kisha kuunda admin user mwenye strong password; akaunti hii ndiyo seva yako, kwa hivyo usitumie tena password ya muda. Ongeza maktaba yako ya kwanza: chagua aina ya maudhui Movies, ielekeze kwenye /media/Movies (njia ndani ya container, si njia ya host), na urudie kwa Shows kwenye /media/Shows. Maliza, na Jellyfin itaanza kuchanganua. Matokeo sahihi ni mabango na vichwa vya habari kujaza nafasi ndani ya dakika moja au mbili kwa maktaba ndogo. Ongeza au hariri maktaba baadaye chini ya Dashboard → Libraries, na uanzishe uchanganuzi wa lazima kwa Scan All Libraries.
Ikiwa unategemea transcoding yoyote ile, fungua Dashboard → Playback → Transcoding na uweke njia ya muda ya transcode kwenye /cache/transcodes ili data hiyo itue kwenye cache volume badala ya kujaza /config. Acha hardware acceleration ikiwa None, hakuna GPU ya kutumia kwa kuongeza kasi.
Ufikiaji wa mbali: TLS reverse proxy, au iweke kwenye VPN
Una njia mbili salama za kufikia Jellyfin ukiwa nje, na njia moja isiyo salama unayopaswa kuepuka. Njia isiyo salama ni kufungua port 8096 moja kwa moja kwenye Internet: taarifa za kuingia (login) husafiri bila encryption na port hiyo itashambuliwa kwa brute-force ndani ya saa chache.
Chaguo A, TLS reverse proxy. Weka Jellyfin kwenye subdomain nyuma ya Traefik yenye TLS ya kiotomatiki kwa ajili ya Docker apps zako, au nyuma ya nginx yenye cheti cha Let's Encrypt kilichotolewa na Certbot. Jellyfin hutumia WebSockets kwa ajili ya masasisho ya wakati halisi, kwa hivyo proxy lazima ipeleke (forward) upgrade headers. Traefik hufanya hivi kiotomatiki; nginx inahitaji headers hizo zifafanuliwe, na inahitaji HTTP/1.1 kwa upstream la sivyo upgrade haitafanyika:
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";
}Weka JELLYFIN_PublishedServerUrl kwenye anwani ya https:// ili autodiscovery ya ndani itangaze URL sahihi, apps za mbali zitumie anwani unayozipa, na ongeza fail2ban ili kupunguza kasi ya majaribio ya brute-force dhidi ya login. Mara seva inapokuwa hadharani, elekeza Uptime Kuma kwenye URL hiyo ili upate taarifa za downtime kabla ya watumiaji wako.
Chaguo B, iweke kwa faragha kwenye VPN. Usichapishe port 8096 hata kidogo; fikia Jellyfin kupitia WireGuard tunnel inayomalizia kwenye seva hiyo hiyo. Kwa matumizi ya nyumbani, hili ndilo chaguo rahisi na salama zaidi; hakuna cheti, hakuna kufichua seva hadharani, na hakuna eneo la kushambuliwa kwa brute-force. Bind container kwenye anwani ya tunnel au localhost na uunganishe kupitia VPN. Tazama usanidi wa WireGuard VPN kwa ajili ya VPS ya faragha kwa ajili ya tunnel yenyewe.
Ukubwa wa hifadhi na nakala rudufu
Panga bajeti kulingana na ubora, si idadi ya faili. Filamu za 1080p zilizobanwa huchukua GB 4-15 kila moja; remux ya 1080p huchukua GB 20-40; msimu mmoja wa vipindi vya TV vya 1080p huchukua GB 15-40; na maudhui yoyote ya 4K huchukua GB 40-100 kwa kila filamu. Maktaba ya mamia machache ya filamu pamoja na vipindi kadhaa inahitaji diski ya TB 2-4, na ni nafuu zaidi kutenga nafasi ya kutosha mara moja kuliko kuhama diski baadaye.
/config ndiyo hali nzima ya seva, kwa hivyo ndicho kitu pekee unachopaswa kukihifadhi. Piga snapshot au isimamishe na uifunge kwa tar kisha uhifadhi nakala hiyo nje ya seva:
docker compose down
sudo tar czf jellyfin-config-$(date +%F).tgz -C ~/jellyfin config
docker compose up -d/cache na folda ya transcode ni vitu vinavyoweza kutupwa. Vyombo vya habari vilivyomo kwenye /mnt/media unapaswa kuvihifadhi kando au ukubali kuwa vinaweza kutafutwa upya; watu wengi huchagua njia ya pili kutokana na ukubwa wake. Uboreshaji wa matoleo ni docker compose pull && docker compose up -d; tag ya :10 hapo juu inabaki ndani ya toleo kuu la 10.x, kwa hivyo kuhamia toleo kuu linalofuata ni uamuzi wa makusudi wa kuhariri tag. Pitia maelezo ya toleo la Jellyfin kabla ya kufanya hivyo, kwa sababu mabadiliko ya muundo wa maktaba hutokea katika matoleo makuu. Tag iliyofungwa (pinned) pamoja na saraka moja ya hali iliyohifadhiwa ndiyo fomula nzima ya kontena lolote linalofanya kazi kila wakati, na ni muundo uleule unaotumiwa katika kuhifadhi kumbukumbu na ratiba za wakala wa self-hosted wakati wa reboot.
Njia za kushindwa, pamoja na ujumbe utakaouona
Maktaba haina kitu baada ya skani. Logi iliyo kwenye Dashboard → Logs (au ~/jellyfin/config/log/log_*.log) inaonyesha:
System.UnauthorizedAccessException: Access to the path '/media/Movies' is denied.uid ya container haiwezi kusoma njia hiyo. Sababu: media inamilikiwa na root au uid tofauti na thamani yako ya user:, folda imekosa bit ya execute, au mount yenyewe haiwezi kupitiwa na uid hiyo. Suluhisho: chown -R 1000:1000 /mnt/media, folda 755, faili 644, kisha fanya skani upya.
Uchezaji unatumia CPU nyingi na ku-buffer. docker stats jellyfin inaonyesha CPU karibu na 100% mara idadi ya core zako, na Dashboard → Playback inaorodhesha session kama Transcode yenye kasi chini ya 1.0x. Mteja (client) haichezi moja kwa moja (direct-play), kwa hivyo VPS inafanya CPU-transcoding polepole kuliko muda halisi na inashindwa. Sababu: codec au container isiyotumika, kuchoma manukuu (subtitle burn-in), au HDR tone-mapping. Suluhisho: tumia mteja anayeweza ku-direct-play, weka vyanzo katika H.264/AAC, tumia manukuu ya text (SRT) badala ya image (PGS/VOBSUB) ambayo hulazimisha kuchomwa, na epuka 4K HDR kwenye seva inayotumia CPU pekee.
"No compatible streams are available." Ujumbe kamili kwa kawaida ni "This client isn't compatible with the media and the server isn't sending a compatible media format." Mteja amekataa chanzo na transcode ya akiba pia imeshindwa kuanza. Sababu: amri ya ffmpeg iliyoharibika, faili lisilosomeka, au profile ya mtumiaji inayozuia ubadilishaji wa video. Suluhisho: soma mstari wa ffmpeg kwenye Dashboard → Logs, thibitisha faili linafanya kazi, angalia ruhusa za uchezaji za mtumiaji ikiwa unategemea transcoding, na jaribu mteja wa pili ili kuondoa uwezekano wa hitilafu za codec za kivinjari.
Filamu hazina bango au zina bango lisilo sahihi. Metadata haikulingana. Sababu: filamu haipo kwenye folda yake ya Name (Year), folda ya msimu imeitwa S01 badala ya Season 01, vipindi havipo katika mfumo wa S01E01, au mwaka umekosekana. Suluhisho: badilisha jina kulingana na muundo hapo juu, kisha Refresh metadata → Replace all, au tumia Identify kwenye kipengee kimoja ili kuweka ingizo sahihi la TMDB/TVDB.
FAQ
Je, VPS inaweza kufanya transcoding ya video bila GPU?
Ndiyo, lakini kwa kutumia CPU pekee, na ni gharama kubwa. Transcoding ya 1080p kupitia programu inaweza kutumia vCPU nyingi, na 4K au HEVC mara nyingi haziwezi kwenda sambamba na muda halisi, hivyo playback itakwama. Mbinu bora ni kuepuka transcoding: hifadhi maktaba yako katika H.264/AAC na utumie programu za mteja zinazocheza video moja kwa moja (direct-play), ili VPS iwe inatuma data tu. Kodi mfumo wa GPU ikiwa unahitaji transcoding ya papo hapo.
Kwa nini maktaba yangu ya Jellyfin haina kitu baada ya scan?
Mara nyingi ni suala la ruhusa (permissions). Picha rasmi ya jellyfin/jellyfin huendeshwa kama user: yoyote uliyoweka (au root), na ikiwa faili haziwezi kusomeka na uid hiyo, logi za scan huonyesha Access to the path ... is denied na kuziruka. Rekebisha umiliki kwa chown -R 1000:1000 /mnt/media, toa ruhusa ya execute kwa saraka (755), kisha fanya scan upya. Angalia pia saraka kuu (parent directory), kwa sababu ikiwa uid ya container haiwezi kupita /mnt/media yenyewe, haitafika kwenye folda za maktaba na kila kitu kitaonekana tupu. Sababu ya pili ya kawaida ni mpangilio wa folda ambao haulingani na kile Jellyfin inachotarajia.
Ninawezaje kufikia Jellyfin kwa mbali na kwa usalama?
Kuna chaguo mbili nzuri. Iweke nyuma ya TLS reverse proxy kwenye subdomain ili login na mtiririko wa video (stream) viwe vimesimbwa, na uongeze fail2ban; usiwahi kufungua port 8096 hadharani, kwani hutuma nenosiri lako bila usimbaji. Au iweke iwe ya faragha kabisa na uifikie kupitia VPN pekee, chaguo rahisi na salama kwa matumizi ya nyumbani. Weka anwani ya umma moja kwa moja kwenye programu; autodiscovery ni matangazo ya mtandao wa ndani (local-network broadcast), hivyo haifiki kwa wateja wanaokuja kupitia mtandao wa Internet.
Jellyfin VPS inahitaji disk na bandwidth kiasi gani?
Disk inategemea ubora: tengeneza bajeti ya 4-15 GB kwa kila filamu ya 1080p iliyobanwa, 20-40 GB kwa remux, na 40-100 GB kwa 4K, hivyo maktaba nyingi huhitaji block volume ya 2-4 TB. Bandwidth huamuliwa na bitrate ya direct-play, 8-12 Mbps kwa kila stream ya 1080p, na zaidi kwa 4K, hivyo hakikisha kasi ya port yako inahimili idadi ya watazamaji wa wakati mmoja na uangalie kikomo cha data cha kila mwezi. Ongeza uwezo wa CPU ikiwa unapanga kufanya transcoding; weka kipaumbele kwenye bandwidth kuliko cores ikiwa unapanga kufanya direct-play.
Je, ni halali kuendesha Jellyfin kwenye VPS?
Jellyfin yenyewe ni programu huru na ya chanzo wazi (open-source), na kuiendesha ni halali kabisa. Kinachojalisha ni maudhui: tiririsha tu vyombo vya habari unavyomiliki au ulivyo na leseni ya kuhifadhi, nakala zako za diski, rekodi, au faili unazokuwa na haki nazo. Jellyfin haisafirishwi na maudhui yoyote na haitoi njia ya kupata yoyote; ni kicheza video kwa maktaba unayomiliki tayari.