Tropic Host

Jellyfin VPS-ზე: საკუთარი მედია-სერვერის ინსტალაცია

2 წაკითხვის წთ
Tropic
Jellyfin VPS-ზე: საკუთარი მედია-სერვერის ინსტალაცია

Language: ka

Jellyfin VPS-ზე: როგორ შექმნათ საკუთარი მედია-სერვერი

ვიდეოებით სავსე საქაღალდე იშვიათად არის მოსახერხებელი მედია-ბიბლიოთეკა: ფაილებს არათანმიმდევრული სახელები აქვთ, სუბტიტრები ცალკე ინახება და სწორი ეპიზოდის ხელით ძებნა გიწევთ. Jellyfin ასეთ არქივს აქცევს პირად სტრიმინგ-სერვისად პოსტერებით, აღწერებით, მომხმარებლის პროფილებითა და დაკვრის პროგრესით.

ამავე დროს, Jellyfin არ ყიდის გამოწერებს და მზა კონტენტის კატალოგს არ გთავაზობთ. ის თქვენს საკუთარ ფაილებთან მუშაობს და შეიძლება გაეშვას სახლის კომპიუტერზე, NAS-ზე ან VPS-ზე. ქვემოთ განვიხილავთ მის შესაძლებლობებს, სერვერის მოთხოვნებსა და Ubuntu-ზე ინსტალაციას დომენისა და HTTPS-ით.

რა არის Jellyfin და რისთვის შეიძლება დაგჭირდეთ

Jellyfin უფასო, ღია კოდის მქონე მედია-სერვერია. სერვერი ინდექსირებას უკეთებს ფილმებს, სერიალებს, მუსიკას, ფოტოებსა და სხვა კონტენტს, ხოლო კლიენტის აპლიკაციები მას ტელეფონზე, კომპიუტერზე ან ტელევიზორზე უკრავს.

საქაღალდეების სკანირების შემდეგ Jellyfin ჩამოტვირთავს პოსტერებსა და აღწერებს, სერიალებს სეზონების მიხედვით აწყობს, დაკვრის პროგრესს იმახსოვრებს და აჩვენებს განყოფილებას „ყურების გაგრძელება“. ოჯახის წევრებისთვის შეგიძლიათ ცალკე ლოკალური პროფილები შექმნათ, ბიბლიოთეკებზე წვდომა შეზღუდოთ და მშობელთა კონტროლი დააყენოთ. Quick Connect მომხმარებლებს საშუალებას აძლევს, ტელევიზორზე გრძელი პაროლის აკრეფის ნაცვლად მოკლე კოდით შევიდნენ.

კლიენტები ხელმისაწვდომია Android-ისთვის, iOS-ისთვის, Android TV-სთვის, Roku-სთვის, webOS-ისთვის, Tizen-ისთვის, Xbox-ისთვის და დესკტოპ-კომპიუტერებისთვის. Jellyfin ასევე გთავაზობთ ვებ-ინტერფეისსა და Kodi-სთან ინტეგრაციას.

Jellyfin დამატებით მხარს უჭერს მუსიკას, IPTV-ს, ტელე-ტიუნერებსა და პირდაპირი ეთერის ჩაწერას. SyncPlay რამდენიმე მომხმარებლისთვის დაკვრას სინქრონიზებას უკეთებს, ხოლო პლაგინები ამატებს სუბტიტრებს, მეტამონაცემების ახალ წყაროებსა და ინტეგრაციებს.

Jellyfin თავად არ ეძებს და არ ჩამოტვირთავს ფილმებს. ის მხოლოდ იმ კონტენტს აწყობს და გადასცემს, რომელიც სერვერის მფლობელს უკვე აქვს.

Jellyfin და Plex: მთავარი განსხვავებები

ორივე გადაწყვეტა ადგილობრივ კოლექციას მედია-სერვისად აქცევს, მაგრამ განსხვავებულ მოდელებს იყენებს.

პარამეტრიJellyfinPlex
საწყისი კოდიღია კოდისაკუთრების კოდი
პრემიუმ-ფუნქციებისერვერსა და ოფიციალურ კლიენტებს ფასიანი დონე არ აქვთზოგი ფუნქცია გამოწერის გეგმაზეა დამოკიდებული
ცენტრალური ანგარიშისაჭირო არ არისიყენებს პროვაიდერის ეკოსისტემას
დისტანციური წვდომამფლობელი აყენებს დომენს, reverse proxy-ს ან VPN-სმეტ მზა მექანიზმს გთავაზობთ
მონაცემებზე კონტროლიმაქსიმალურიინფრასტრუქტურის ნაწილს პროვაიდერი აკონტროლებს

მომხმარებლები Jellyfin-ს დამოუკიდებლობის, კონფიდენციალურობისა და გამოწერის არარსებობის გამო ირჩევენ. Plex შეიძლება უფრო მოსახერხებელი იყოს, თუ მთავარი პრიორიტეტებია მაქსიმალურად მარტივი დაყენება და ყველა მოწყობილობაზე თანმიმდევრულად დახვეწილი აპლიკაციები.

Direct Play თუ ტრანსკოდირება: რა ტვირთავს სერვერს

Jellyfin-ის წარმადობა ბიბლიოთეკის ზომაზე ნაკლებად, ხოლო დაკვრის მეთოდზე მეტად არის დამოკიდებული.

რეჟიმირა ხდებადატვირთვა
Direct Playსერვერი ორიგინალ ფაილს აგზავნისდაბალი
Direct Streamკონტეინერი ან ცალკე ტრეკი იცვლებადაბალი ან საშუალო
ტრანსკოდირებაკოდეკი, გარჩევადობა ან ბიტრეიტი რეალურ დროში იცვლებამაღალი

თუ ტელევიზორს ფაილის კოდეკის, აუდიოსა და სუბტიტრების მხარდაჭერა აქვს, სერვერი თითქმის საერთოდ არ იყენებს CPU-ს. პრობლემები მაშინ იწყება, როცა კლიენტი ფორმატს ვერ ამუშავებს, კავშირს უფრო დაბალი ბიტრეიტი სჭირდება ან სუბტიტრები გამოსახულებაში უნდა „ჩაიწვას“. ამ შემთხვევაში Jellyfin FFmpeg-ს უშვებს და ვიდეოს რეალურ დროში გადააქვს სხვა ფორმატში.

განსაკუთრებით მომთხოვნია 4K, HEVC, HDR და HDR-to-SDR კონვერტაცია. გრაფიკული პროცესორის გარეშე ჩვეულებრივ VPS-ს შეიძლება გაუჭირდეს, ბევრი ვირტუალური CPU ბირთვიც რომ ჰქონდეს. ამიტომ თავსებადი ფორმატები და Direct Play ხშირად უფრო მეტ თანხას ზოგავს, ვიდრე შემდეგ სერვერულ გეგმაზე გადასვლა.

როგორი სერვერი სჭირდება Jellyfin-ს

ტიპური ინსტალაციისთვის ოფიციალური რეკომენდაცია დაახლოებით 8 GB RAM-ია. გრაფიკული ინტერფეისის გარეშე Linux-ზე მცირე სერვერი 4 GB-ითაც შეიძლება მუშაობდეს. ოპერაციული სისტემისთვის, მონაცემთა ბაზისთვის, გამოსახულებებისთვის, ქეშისა და დროებითი ფაილებისთვის სწრაფი დისკია საჭირო; მედია-ბიბლიოთეკა ცალკე ინახება და, როგორც წესი, სივრცის უმეტეს ნაწილს იკავებს.

სცენარისაწყისი კონფიგურაციაკომენტარი
მუსიკა და ერთი 1080p Direct Play ნაკადი2 vCPU, 4 GB RAMქსელისა და დისკის სიჩქარე უფრო მნიშვნელოვანია
მცირე საოჯახო მედია-ბიბლიოთეკა4 vCPU, 8 GB RAMთავსებადი ფორმატები სჯობს
1080p-ის პერიოდული ტრანსკოდირება4–8 მაღალი წარმადობის vCPU ან GPUდატვირთვა კოდეკზეა დამოკიდებული
რამდენიმე 4K/HDR ნაკადითანამედროვე Intel iGPU ან გრაფიკული ბარათიმხოლოდ CPU-ზე მომუშავე ჩვეულებრივი VPS არ გამოდგება

ტრაფიკიც გაითვალისწინეთ: 20 Mbps-იანი ნაკადი საათში დაახლოებით 9 GB მონაცემს გადასცემს. ყოველდღიური ყურებისას მოხმარებამ თვეში სწრაფად შეიძლება ასობით გიგაბაიტს მიაღწიოს.

სახლის სერვერი თუ VPS

მრავალტერაბაიტიანი კოლექციისა და რეგულარული აპარატული ტრანსკოდირებისთვის სახლის მინი-კომპიუტერი ან NAS უფრო მომგებიანია. შეგიძლიათ დიდი მოცულობის დისკები დააყენოთ და Intel Quick Sync-ის მქონე პროცესორი აირჩიოთ, მაგრამ დისტანციური წვდომა ელექტროენერგიაზე, სახლის ინტერნეტ-კავშირსა და საჯარო IP-მისამართის არსებობაზე იქნება დამოკიდებული.

VPS-ს საჯარო მისამართი, სტაბილური კავშირი და უწყვეტი მუშაობა აქვს. ის მოსახერხებელია მუსიკისთვის, მცირე ვიდეო-ბიბლიოთეკისთვის, Direct Play-სა და სხვადასხვა ადგილას მყოფი მომხმარებლებისთვის. მისი შეზღუდვებია საცავის ღირებულება და სტანდარტულ გეგმებზე GPU-ს არქონა.

არსებობს ჰიბრიდული ვარიანტიც: ფაილები სახლში რჩება, ხოლო VPS უსაფრთხო შესასვლელის როლს ასრულებს. ეს სქემა სასარგებლოა, როცა საჯარო IPv4-მისამართი არ გაქვთ, თუმცა დაკვრის სიჩქარეს მაინც სახლის კავშირის ატვირთვის გამტარობა ზღუდავს.

Jellyfin-ის ინსტალაცია Ubuntu-ზე Docker Compose-ით

ქვემოთ მოცემულ კონფიგურაციაში Jellyfin და Caddy ერთ Docker-ქსელში მუშაობენ. პორტი 8096 ინტერნეტში არ ქვეყნდება; Caddy იღებს HTTPS-კავშირებს და სერტიფიკატს ავტომატურად იღებს.

ჯერ დომენის A ჩანაწერი, მაგალითად media.example.com, სერვერის IP-მისამართზე მიმართეთ.

1. დააყენეთ Docker და შექმენით დირექტორიები

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. შექმენით /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:

:ro პარამეტრი მედია-ბიბლიოთეკას მხოლოდ წაკითხვის რეჟიმში ამონტაჟებს და ორიგინალი ფაილების Jellyfin-იდან შემთხვევითი წაშლისგან იცავს.

3. შექმენით /opt/jellyfin/Caddyfile

media.example.com {
    reverse_proxy jellyfin:8096
}

დომენი საკუთრით შეცვალეთ, გაუშვით კონტეინერები და საჭირო პორტები გახსენით:

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

თუ SSH სხვა პორტს იყენებს, ufw enable-ის გაშვებამდე ცალკე წესით დაუშვით ის.

სერტიფიკატის გაცემის შემდეგ გახსენით https://media.example.com. Jellyfin-ის ქსელის პარამეტრებში reverse proxy სანდო პროქსების სიაში დაამატეთ, რათა გარე წვდომის შეზღუდვებმა სწორად იმუშაოს.

მედია-ბიბლიოთეკის საწყისი კონფიგურაცია

დაყენების ოსტატში აირჩიეთ ენა, შექმენით ადმინისტრატორი და დაამატეთ ბიბლიოთეკები:

  • ფილმები — /media/movies;
  • სერიალები — /media/series;
  • მუსიკა — /media/music.

ზუსტი ამოცნობისთვის გამოიყენეთ მკაფიო სახელები:

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

ყურებისთვის შექმენით ცალკე სტანდარტული პროფილი და შესვლის ეკრანიდან ადმინისტრატორის ანგარიში დამალეთ. მომხმარებლებს მხოლოდ საჭირო ბიბლიოთეკებზე მიეცით წვდომა და ფაილების წაშლა მხოლოდ მაშინ დაუშვით, როცა ეს აუცილებელია.

განახლებები და სარეზერვო ასლები

Jellyfin-ის კონფიგურაცია შეიცავს მომხმარებლებს, პარამეტრებს, მონაცემთა ბაზასა და დაკვრის პროგრესს. განახლებამდე გააჩერეთ კონტეინერი და შეინახეთ 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

არქივი VPS-ის გარეთ გადაიტანეთ. მედია-ფაილების ასლები ცალკე შექმენით.

განახლებისთვის შეასრულეთ:

sudo docker compose pull
sudo docker compose up -d

პორტი 8096 პირდაპირ არ გამოაჩინოთ. გამოიყენეთ HTTPS ან VPN, რეგულარულად დააყენეთ განახლებები და აკონტროლეთ თავისუფალი დისკის სივრცე.

Jellyfin VPS-ზე tropic.host-იდან

მცირე მედია-ბიბლიოთეკისთვის, რომელიც ძირითადად Direct Play-ს იყენებს, შეგიძლიათ დაიწყოთ Linux VPS-ით 4 GB RAM-ით. რამდენიმე მომხმარებლის, დიდი მონაცემთა ბაზისა და დამატებითი სერვისებისთვის 8 GB უფრო გონივრული არჩევანია.

tropic.host-იდან VPS-ის არჩევისას ცალკე შეაფასეთ საცავის მოცულობა, ყოველთვიური ტრაფიკი და ტრანსკოდირების საჭიროება. ვირტუალური სერვერი მოსახერხებელია როგორც მუდმივად ხელმისაწვდომი ბოლო წერტილი საჯარო IP-ითა და HTTPS-ით, მაგრამ ის GPU-სერვერს ვერ შეცვლის. თუ რამდენიმე 4K/HDR ნაკადის ფორმატის გადაყვანა გჭირდებათ, სახლის სერვერი Intel iGPU-ით, გამოყოფილი სერვერი ან გრაფიკული ბარათის მქონე სპეციალიზებული გეგმა უკეთესი არჩევანია.

დაიწყეთ მცირე კოლექციით, Jellyfin-ის დაფაზე შეამოწმეთ Direct Play სესიების წილი და მხოლოდ ამის შემდეგ გაზარდეთ CPU, RAM ან საცავი რეალური დატვირთვის მიხედვით.

შეჯამება

Jellyfin თქვენს კოლექციას პირად სტრიმინგ-სერვისად აქცევს სავალდებულო გამოწერისა და ცენტრალური ანგარიშის გარეშე. წარმატებული განთავსებისთვის წინასწარ შეაფასეთ საცავი, ტრაფიკი და ტრანსკოდირების ალბათობა.

Direct Play-ის გამოყენებისას მცირე სერვერს ხშირად 4–8 GB RAM-იც ჰყოფნის. რეგულარული 4K/HDR დაკვრა აპარატულ ვიდეო-დამუშავებას მოითხოვს. კონფიგურაციის მიუხედავად, გარე წვდომა HTTPS-ით ან VPN-ით დაიცავით და პარამეტრებისა და მედია-ბიბლიოთეკის სარეზერვო ასლები ცალ-ცალკე შექმენით.

FAQ

Jellyfin სრულად უფასოა?

დიახ. სერვერი და კლიენტები პრემიუმ-გეგმის გარეშეა ხელმისაწვდომი. გადახდა მხოლოდ აპარატურის, VPS-ის, დისკების, დომენისა და ტრაფიკისთვის დაგჭირდებათ.

Jellyfin-ში მზა ფილმები და სერიალებია?

არა. მომხმარებლები საკუთარ მედია-ფაილებს ამატებენ.

შეიძლება Jellyfin გრაფიკული ბარათის გარეშე VPS-ზე გაეშვას?

დიახ, თუ ფაილების უმეტესობა Direct Play-ით იკვრება. ხშირი 4K და HDR ტრანსკოდირებისთვის შესაფერისი iGPU ან გრაფიკული ბარათის მქონე სერვერია საჭირო.

რამდენი RAM სჭირდება Jellyfin-ს?

მცირე Linux სერვერს 4 GB RAM-ით შეუძლია მუშაობა. საოჯახო მედია-ბიბლიოთეკისა და რამდენიმე მომხმარებლისთვის 8 GB უკეთესი სამიზნეა.

როგორ მივიღო Jellyfin-ზე უსაფრთხო წვდომა ინტერნეტიდან?

გამოიყენეთ დომენი და HTTPS reverse proxy-ის გავლით, ან VPN. პორტი 8096 პირდაპირ არ გამოაჩინოთ და შექმენით ცალკე მომხმარებლის ანგარიშები მინიმალური უფლებებით.