Як встановити Jellyfin Media Server на Linux Mint 21 або 20

Jellyfin завоював популярність як безкоштовний медіасервер з відкритим вихідним кодом, що пропонує надійну платформу для потокової передачі фільмів, телепередач, музики і фотографій. У цьому посібнику ми розповімо Вам, як встановити Jellyfin Media Server на Linux Mint 21 або його старішу стабільну версію Linux Mint 20. Поряд із першими порадами щодо встановлення, ми також продемонструємо, як налаштувати правила брандмауера і зворотний проксі-сервер з Apache або Nginx.

Чому варто вибрати Jellyfin у Linux Mint 21 або 20?

  • Відкритий вихідний код: На відміну від деяких конкурентів, Jellyfin має повністю відкритий вихідний код, що означає, що його можна вільно використовувати і модифікувати. Це сприяє розвитку активної спільноти розробників, націленої на постійне вдосконалення.
  • Сумісність із пристроями: Jellyfin працює на різних пристроях, від “розумних” телевізорів і мобільних пристроїв до ігрових консолей, що робить доступ до медіафайлів неймовірно гнучким.
  • Автоматична категоризація медіафайлів: На відміну від Kodi, Jellyfin автоматично сортує і розподіляє медіафайли за категоріями, спрощуючи управління бібліотекою.
  • Демо-сервер: Для тих, хто хоче спробувати перед встановленням, Jellyfin пропонує демо-сервер для тестування його можливостей.

Крок 1: Оновлення Linux Mint перед встановленням Jellyfin Media Server

Перед встановленням медіа-сервера Jellyfin на операційну систему Linux Mint необхідно переконатися в тому, що всі пакети оновлені. Оновлення операційної системи забезпечить актуальність усіх пакетів і допоможе уникнути проблем із сумісністю з Jellyfin.

Щоб оновити операційну систему Linux Mint, відкрийте термінал і виконайте таку команду:

sudo apt update && sudo apt upgrade

Ця команда оновить усі пакети на вашій системі до останніх версій, забезпечивши актуальність системи.

Крок 2: Встановлення необхідних пакетів для Jellyfin у Linux Mint 21 або 20

Після оновлення операційної системи Linux Mint необхідно встановити пакети, необхідні для встановлення медіасервера Jellyfin. Необхідні пакети можуть відрізнятися залежно від дистрибутива та версії Linux Mint.

Щоб встановити необхідні пакети, відкрийте термінал і виконайте таку команду:

sudo apt install software-properties-common apt-transport-https ca-certificates curl

Ця команда встановить необхідні пакети, серед яких apt-transport-https, ca-certificates, gnupg2 і curl.

Крок 3: Встановлення Jellyfin Media Server на Linux Mint 21 або 20

Для встановлення Jellyfin Media Server на Linux Mint необхідно імпортувати GPG-ключ Jellyfin і репозиторій, оскільки програма недоступна в репозиторії за замовчуванням. Цей процес гарантує, що пакет є справжнім і не був підроблений.

Спочатку імпортуйте GPG-ключ, виконавши в терміналі таку команду:

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

Ця команда завантажує GPG-ключ із сайту Jellyfin і додає його у зв’язку ключів системи, що дає змогу перевірити автентичність пакета під час встановлення.

Далі імпортуйте стабільний або нестабільний репозиторій Jellyfin. Стабільне сховище рекомендується для більшості користувачів, оскільки воно ретельно протестоване та стабільне. Щоб імпортувати стабільне сховище, виконайте одну з таких команд:

Імпортувати стабільне сховище JellyFin для Linux Mint 21 або 20:

Імпортувати JellyFin Media Server stable для дистрибутива Linux Mint 21:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Імпорт JellyFin Media Server stable для серії дистрибутивів Linux Mint 20:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Порада: Імпорт правильного сховища для конкретної версії Linux Mint дуже важливий. Імпорт неправильного сховища може призвести до того, що Jellyfin буде встановлено некоректно або працювати не так, як очікувалося.

Імпортуйте репозиторій JellyFin unstable в Linux Mint 21 або 20:

Як альтернативу можна імпортувати нестабільне сховище за допомогою наступних команд. Зверніть увагу, що нестабільне сховище вимагає FFMpeg 5. Тепер Jellyfin пропонує підтримку FFMpeg 6 у своїх сховищах, тому його можна встановити.

Імпорт JellyFin Media Server unstable для серії дистрибутивів Linux Mint 21:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Імпорт JellyFin Media Server unstable для серії дистрибутивів Linux Mint 20:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Після додавання нового репозиторію необхідно оновити список репозиторіїв системи, щоб він розпізнавав нові доповнення. Для цього виконайте в терміналі таку команду:

sudo apt update

Після виконання команди sudo apt update список репозиторіїв Вашої системи буде оновлено, включивши до нього новий репозиторій. Це оновлення гарантує, що Linux Mint розпізнає новий сховище та його вміст, що дасть вам змогу встановити Jellyfin Media Server на вашу систему.

Крок 4: Встановлення Jellyfin в Linux Mint 21 або 20 за допомогою APT-команди

Тепер, коли Ви імпортували репозиторій Jellyfin і GPG-ключ, настав час встановити медіасервер на Вашу систему Linux Mint. Процес встановлення простий і може бути завершений за допомогою наступної команди:

sudo apt install jellyfin

Після завершення встановлення службу Jellyfin буде автоматично запущено. Щоб перевірити стан служби Jellyfin, виконайте таку команду:

systemctl status jellyfin

Якщо з якоїсь причини служба Jellyfin не запускається, її можна запустити вручну за допомогою такої команди:

sudo systemctl start jellyfin

Для того щоб служба Jellyfin автоматично запускалася під час завантаження системи, виконайте таку команду:

sudo systemctl enable jellyfin

Ці команди забезпечать запуск служби Jellyfin і її автоматичний запуск під час завантаження системи.

Крок 5. Первісне налаштування медіасервера Jellyfin в Linux Mint 21 або 20

Для доступу до веб-інтерфейсу Jellyfin необхідно відкрити інтернет-браузер і ввести IP-адресу сервера, а потім порт за замовчуванням 8096. Якщо доступ до сервера Jellyfin здійснюється на тій самій встановленій машині, використовуйте як IP-адресу 127.0.0.1.

Наприклад, для доступу до веб-інтерфейсу Jellyfin можна набрати в адресному рядку браузера таку адресу:

http://127.0.0.1:8096

Після введення вказаної адреси ви потрапите на екран привітання для початкового налаштування сервера. На цьому екрані можна виконати всі необхідні дії з налаштування Jellyfin для першого використання:

Під час початкового налаштування сервера Jellyfin вам буде запропоновано вибрати бажану мову відображення в інтерфейсі Jellyfin.

Після вибору натисніть кнопку “Далі ->”, щоб перейти до наступного кроку.

Після вибору мови відображення з’явиться запит на створення імені користувача та пароля для облікового запису Jellyfin. Цей обліковий запис надаватиме адміністративний доступ до сервера Jellyfin, даючи змогу керувати медіабібліотеками, обліковими записами користувачів і налаштуваннями сервера.

Для забезпечення безпеки сервера Jellyfin дуже важливо створити надійний і унікальний пароль, що включає комбінацію великих і малих літер, цифр і символів.

Після створення імені користувача та пароля натисніть на кнопку “Далі ->”, щоб перейти до наступного кроку початкового налаштування сервера.

Після створення облікового запису Jellyfin наступним кроком у налаштуванні сервера є конфігурація медіабібліотек. Медіабібліотеки дають змогу додавати медіаконтент у Jellyfin і впорядковувати його. Ви можете створити кілька бібліотек для різних типів медіафайлів, таких як фільми, телепередачі та музика.

Для організації та відображення медіаконтенту в Jellyfin необхідно додати його до медіабібліотеки. Це можна зробити, натиснувши на велику кнопку “+” або “Додати медіатеку” на панелі Jellyfin, що приведе вас до екрана налаштування медіатеки, де ви зможете додати папку з медіафайлами.

Додавання медіаконтенту в Jellyfin не являє собою нічого складного; користувачі, знайомі з Plex, знайдуть цей процес досить схожим. Вибравши кнопку “Додати медіатеку”, можна вибрати тип медіафайлу, що додається, наприклад, фільми, телепередачі або музику, і, дотримуючись підказок, додати папку з медіафайлом. Крім того, можна вказати мову метаданих для медіаконтенту, який використовується для надання такої інформації, як опис епізодів, біографії акторів і обкладинки альбомів.

Додавання медіабібліотек дає змогу ефективно організовувати та переглядати медіаконтент у Jellyfin. Після додавання медіабібліотек можна перейти до наступного кроку, натиснувши кнопку “Далі ->”. Наступний екран – це екран “Мова метаданих”, який дає змогу вибрати бажану мову для метаданих вашого медіаконтенту. Ця інформація збагачує медіаконтент такими відомостями, як акторський склад і знімальна група, короткий опис сюжету та рецензії.

Після налаштування медіабібліотек і вибору бажаної мови метаданих наступним кроком буде налаштування віддаленого доступу до медіасервера Jellyfin. Віддалений доступ дає змогу отримати доступ до медіаконтенту за межами локальної мережі, наприклад, з іншого місця або пристрою.

Щоб увімкнути віддалений доступ, можна дозволити віддалені під’єднання до медіасервера Jellyfin і ввімкнути автоматичне зіставлення портів. Дозволивши віддалені підключення, можна отримати доступ до медіаконтенту з будь-якого місця, де є підключення до Інтернету. Автоматичне зіставлення портів забезпечує відкриття портів для доступу вхідного трафіку до сервера Jellyfin.

Для користувачів, які не знайомі з зіставленням портів, автоматичне зіставлення портів перенаправляє трафік з одного мережевого порту на інший. У разі ввімкнення автоматичного зіставлення портів у Jellyfin вхідний трафік перенаправляється на потрібний порт у локальній мережі, що дає змогу отримати віддалений доступ до медіаконтенту. Цей процес дуже важливий для забезпечення безпечного доступу до медіаконтенту, гарантуючи, що неавторизовані користувачі не зможуть отримати доступ до медіафайлів або мережі.

Після завершення початкового налаштування медіасервера Jellyfin на наступному екрані з’явиться підтвердження того, що процес встановлення завершено і сервер готовий до роботи.

Отримавши доступ до веб-інтерфейсу Jellyfin, введіть ім’я користувача і пароль, створені в процесі початкового налаштування, і натисніть на кнопку “Увійти”. Вас буде направлено на панель Jellyfin для доступу до медіатек і керування контентом.

Після входу на медіасервер Jellyfin ви можете отримати доступ до панелі керування для управління медіабібліотеками, користувачами та налаштуваннями сервера. Ось деякі дії, які можна виконати за допомогою панелі керування:

  • Додати медіаконтент: Ви можете додати додаткові матеріали на свій сервер Jellyfin, натиснувши кнопку “Додати медіатеку” і обравши тип медіафайлу, який Ви хочете додати, наприклад, фільми, телепередачі або музику. Вам буде потрібно вказати необхідну інформацію, наприклад, ім’я бібліотеки, розташування медіафайлів і будь-які специфічні налаштування для цього типу медіафайлів.
  • Налаштування користувацьких параметрів: Ви можете налаштувати зовнішній вигляд свого сервера Jellyfin, задавши такі параметри, як тема, мова і метадані. Для внесення змін натисніть на кнопку “Dashboard”, потім виберіть налаштування “General” або “Display”.
  • Керування користувачами: Ви можете додавати, видаляти та змінювати облікові записи користувачів для керування доступом до медіаконтенту. Натисніть кнопку “Користувачі” на приладовій панелі, потім виберіть “Додати користувача” або “Редагувати користувача” для внесення змін.

Ось кілька загальних порад з управління медіасервером Jellyfin:

  • Підтримуйте його в актуальному стані: Регулярно перевіряйте наявність оновлень і встановлюйте їх у міру появи, щоб ваш сервер був в актуальному стані.
  • Використовуйте плагіни та розширення: Ви можете використовувати плагіни та розширення для додавання додаткових функцій до сервера Jellyfin, наприклад, підтримки субтитрів або віддаленого керування.

Усунення несправностей: Скидання початкового налаштування

Якщо під час початкового налаштування медіасервера Jellyfin виникли проблеми або з якихось причин необхідно почати все спочатку, скидання налаштувань не являє собою нічого складного. Змінивши значення “IsStartupWizardCompleted” у файлі system.xml і перезапустивши сервер Jellyfin, можна скинути процес початкового налаштування і почати його заново. Нижче наведено кроки, які необхідно виконати:

Відкрити файл system.xml: Це можна зробити, виконавши таку команду:

sudo nano /etc/jellyfin/system.xml

Ця команда відкриє файл system.xml у текстовому редакторі nano, що дасть змогу внести в нього зміни.

Змініть значення “IsStartupWizardCompleted”:

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

І змініть його на:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Ця зміна скидає процес початкового налаштування, даючи змогу почати його з самого початку.

Щоб перезапустити сервер Jellyfin, виконайте таку команду:

sudo systemctl restart jellyfin

Перезапустіть процес налаштування: Після перезапуску сервера Jellyfin можна знову звернутися до HTTP://127.0.0.1:8096 і перезапустити процес встановлення.

Крок 6: Налаштування дозволів для мультимедійних дисків для Jellyfin в Linux Mint 21 або 20

Після встановлення Jellyfin на систему Linux Mint необхідно встановити необхідні дозволи для медіасервера на доступ і читання каталогів мультимедіа. Це можна зробити за допомогою команди setfacl, яка забезпечує більш детальний контроль доступу порівняно з командами chown і chgrp.

Перш ніж приступити до налаштування прав доступу, переконайтеся, що пакет ACL встановлено, виконавши таку команду:

sudo apt install acl

Щоб надати Jellyfin доступ до каталогу мультимедіа та всіх його підкаталогів, виконайте таку команду з прапором -R (рекурсивний):

sudo setfacl -R -m u:jellyfin:rx /media/mymediadrive

Якщо необхідно призначити права доступу до окремих каталогів або файлів мультимедіа, використовуйте таку команду:

sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory

Додаткові команди та поради щодо роботи з Jellyfin у Linux Mint 21 або 20

Налаштування SSH для Jellyfin і Linux Mint

Якщо Ви плануєте отримати віддалений доступ до медіасервера Jellyfin в Linux Mint, необхідно налаштувати тунель Secure Shell (SSH). SSH – це протокол для безпечного віддаленого входу в систему та інших захищених мережевих сервісів через незахищену мережу.

Щоб налаштувати SSH на сервері Linux Mint, виконайте такі дії:

Встановіть SSH-сервер на машину з Linux Mint за допомогою такої команди:

sudo apt install openssh-server

Після встановлення SSH-сервера можна підключитися до Jellyfin Media Server віддалено, використовуючи SSH-тунель. Замініть {server-ip-address} на IP-адресу вашого сервера і введіть у терміналі таку команду:

ssh {server-ip-address} -L 8096:localhost:8096

Ця команда створює SSH-тунель для Jellyfin Media Server.

Після створення SSH-тунелю ви можете отримати доступ до Jellyfin Media Server за таким посиланням у веб-браузері:

http://localhost:8096/web/index.html#/wizardstart.html

Зверніть увагу, що при використанні SSH-тунелю HTTP-запит буде перенаправлено на http://localhost:8096/web, який є віддаленим сервером. Після завершення початкового налаштування ви зможете отримати доступ до Jellyfin Media Server, використовуючи IP-адресу віддаленого сервера https://{server-ip-address}:8096.

Налаштування брандмауера UFW для Jellyfin і Linux Mint

Налаштування брандмауера UFW дуже важливе для управління вхідним і вихідним мережевим трафіком на Вашому сервері Linux Mint. На відміну від Ubuntu, брандмауер UFW не ввімкнено за замовчуванням у Linux Mint, тому його необхідно ввімкнути вручну. Увімкнувши брандмауер UFW, користувачі можуть гарантувати, що на їхній сервер пропускатиметься тільки необхідний трафік.

Для ввімкнення брандмауера UFW можна скористатися такою командою в терміналі:

sudo ufw enable

Після увімкнення необхідно дозволити вхідний трафік на порт 8096, який необхідний для коректної роботи Jellyfin Media Server. Щоб дозволити вхідний трафік на порт 8096, виконайте таку команду:

sudo ufw allow 8096

Ця команда дозволить вхідний трафік по порту 8096 на ваш сервер, що забезпечить коректну роботу Jellyfin Media Server.

Для користувачів, у яких не встановлено UFW, можна використовувати таку команду для його встановлення:

sudo apt install ufw

Налаштування Apache або Nginx як зворотного проксі-сервера для Jellyfin і Linux Mint

Налаштування зворотного проксі для Jellyfin допоможе вам отримати доступ до медіасервера з віддаленого комп’ютера або з мережі.

Налаштування Apache як зворотного проксі для Jellyfin і Linux Mint

Якщо ви хочете отримати доступ до медіасервера Jellyfin з віддаленого комп’ютера або з мережі, ви можете налаштувати зворотний проксі-сервер за допомогою Apache або Nginx. У цьому посібнику буде розглянуто налаштування Apache як зворотного проксі-сервера в Linux Mint.

Спочатку встановіть веб-сервер Apache за допомогою такої команди:

sudo apt install apache2

За замовчуванням Apache має бути ввімкнений, але якщо його не ввімкнено, то його можна ввімкнути за допомогою такої команди:

sudo systemctl start apache2

Далі за допомогою текстового редактора створіть новий файл конфігурації віртуального хоста для Jellyfin. Наприклад, за допомогою редактора nano можна зробити таке:

sudo systemctl enable apache2

Потім увімкніть необхідні модулі за допомогою такої команди:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Створіть новий файл конфігурації віртуального хоста для Jellyfin за допомогою такої команди:

sudo nano /etc/apache2/sites-available/jellyfin.conf

Для створення піддомену необхідно мати активне доменне ім’я. Один із варіантів придбання доменного імені – NameCheap, де домени можна придбати всього за 1-2 дол. Як альтернативу, якщо ви віддаєте перевагу домену .com, можна використовувати Cloudflare.

Після створення піддомену можна налаштувати віртуальний хост з Apache, виконавши такі дії:

<VirtualHost *:80>
    ServerName jellyfin.example.com

    # Redirect HTTP to HTTPS
    Redirect permanent / https://jellyfin.example.com

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName jellyfin.example.com

    DocumentRoot /var/www/html/jellyfin/public_html

    ProxyPreserveHost On

    ProxyPass "/socket" "ws://localhost:8096/socket"
    ProxyPassReverse "/socket" "ws://localhost:8096/socket"

    ProxyPass "/" "http://localhost:8096/"
    ProxyPassReverse "/" "http://localhost:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/jellyfin.example.com/privkey.pem
    Protocols h2 http/1.1

    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>
</IfModule>

Збережіть файл (CTRL+O), потім вийдіть (CTRL+X).

Щоб переконатися у відсутності помилок у конфігурації Apache або файлі віртуального хоста перед увімкненням віртуального хоста, можна виконати “пробний запуск” за допомогою такої команди:

sudo apache2ctl configtest

Після перевірки синтаксису конфігурації Apache на наявність синтаксичних помилок за допомогою попередньої команди можна розпочинати увімкнення віртуального хоста за допомогою наступної команди:

sudo a2ensite jellyfin.conf

Створивши символічне посилання з каталогу sites-available в каталог sites-enabled, попередня команда дала змогу віртуальному хосту обслуговуватися Apache. Після того як віртуальний хост увімкнено, необхідно перезапустити Apache для застосування змін. Це можна зробити, виконавши таку команду:

sudo systemctl restart apache2

Команда зупиняє і запускає службу Apache, застосовує нові налаштування віртуального хоста і перезавантажує конфігурацію з оновленими змінами.

Налаштування Nginx як зворотного проксі для Jellyfin і Linux Mint

Nginx може виступати як зворотний проксі-сервер для забезпечення віддаленого доступу до медіа-сервера Jellyfin. Nginx – це легкий і високопродуктивний веб-сервер, який зазвичай використовується для цих цілей.

Щоб встановити Nginx, виконайте таку команду:

sudo apt install nginx

Далі запустіть службу Nginx за допомогою такої команди:

sudo systemctl start nginx

Щоб переконатися, що Nginx увімкнено, виконайте таку команду:

sudo systemctl enable nginx

Ця команда запускає службу Nginx і забезпечує її автоматичний запуск під час завантаження.

Приклад виведення в разі успішного виконання:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable nginx

Щоб перевірити стан Nginx, виконайте таку команду:

systemctl status nginx

Переконавшись, що Nginx працює коректно, можна створити новий файл блоку сервера за адресою /etc/nginx/conf.d/jellyfin.conf. У цьому прикладі ми будемо використовувати піддомен jellyfin.example.com.

sudo nano /etc/nginx/conf.d/jellyfin.conf

Для налаштування Nginx як зворотного проксі необхідно створити файл блоку сервера за адресою /etc/nginx/conf.d/jellyfin.conf з такими директивами:

  • Директива listen задає порт і адресу, які має прослуховувати Nginx. У цьому прикладі використовується порт 80.
  • Директива server_name задає ім’я хоста або доменне ім’я, яке має прослуховувати Nginx. Замініть jellyfin.example.com на ваше доменне ім’я.
  • Директиви access_log і error_log: Вони задають розташування журналів доступу та помилок.
  • Директиви location: Вони визначають, як Nginx має обробляти вхідні запити.

Директиви location задають proxy_pass, який буде перенаправляти запити від Nginx до Jellyfin. У proxy_pass задається протокол і адреса вищого сервера, сервера Jellyfin, і встановлюється режим прослуховування на порту 8096. Директива location визначає, як Nginx має обробляти вхідні запити, і може обробляти запити до кореневого URL (/), запити до каталогу /web/ і запити до каталогу /socket.

Наведемо приклад файлу серверного блоку:

server {
    listen 80;
    server_name jellyfin.example.com;

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

    set $jellyfin jellyfin;
    resolver 127.0.0.1 valid=30;

    # 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";

    location = / {
        return 302 https://$host/web/;
    }

    location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        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 block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096/web/index.html;
        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;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://$jellyfin:8096/socket;
        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;
    }
}

Збережіть файл (CTRL+O), потім вийдіть (CTRL+X).

Перш ніж приступити до роботи, необхідно переконатися в тому, що конфігурація Nginx як зворотного проксі для Jellyfin не містить помилок. Для цього можна виконати пробний запуск за допомогою такої команди:

sudo nginx -t

Ця команда перевіряє конфігураційний файл на наявність синтаксичних помилок та інших проблем. Якщо все працює правильно, то на виході має бути видно, що конфігураційний файл у порядку і перевірка пройшла успішно, як показано нижче:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Щоб застосувати зміни до Nginx, необхідно перезавантажити службу. Це можна зробити, виконавши таку команду:

sudo systemctl reload nginx

Після правильного налаштування Nginx як зворотного проксі-сервера для Jellyfin і встановлення доменних і DNS-записів, що вказують на IP-адресу вашого сервера, ви можете отримати доступ до медіасервера Jellyfin за адресою jellyfin.example.com. За допомогою Nginx віддалені користувачі можуть отримати доступ до Jellyfin, відвідавши піддомен, а Nginx направить їхні запити до веб-інтерфейсу Jellyfin.

Створення безкоштовного SSL-сертифіката Let’s Encrypt для Jellyfin і Linux Mint

У цьому розділі ми розповімо вам про те, як захистити сервер Apache або Nginx за допомогою безкоштовного сертифіката Let’s Encrypt SSL. Використання SSL-сертифіката забезпечує безпеку зв’язку між браузером користувача і сервером, що робить його ідеальним способом запуску сервера за протоколом HTTPS.

Щоб встановити пакет certbot, необхідно зіставити його зі встановленим зворотним проксі. Якщо використовується Apache, необхідно встановити python3-certbot-apache; якщо використовується Nginx, необхідно встановити python3-certbot-nginx.

Встановіть Certbot для Apache:

sudo apt install python3-certbot-apache

Встановіть Certbot для Nginx:

sudo apt install python3-certbot-nginx

Щоб захистити Apache або Nginx за допомогою безкоштовного SSL-сертифіката Let’s Encrypt, необхідно встановити пакет certbot, що відповідає встановленому зворотному проксі. Якщо ви використовуєте Apache, встановіть python3-certbot-apache; для Nginx встановіть python3-certbot-nginx.

Після встановлення виконайте команду certbot для створення сертифіката. Команда має такі опції, як -apache або -nginx, залежно від використовуваного зворотного проксі, а також -agree-tos, -redirect, -hsts і -staple-ocsp. Ці опції дають змогу налаштувати 301 редирект, заголовок Strict-Transport-Security і OCSP Stapling, що робить налаштування безпечним. Не забудьте замінити адресу електронної пошти та доменне ім’я на свої власні вимоги.

Запустіть Certbot for Apache для Jellyfin і Linux Mint:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Запустіть Certbot for Nginx для Jellyfin і Linux Mint:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Після створення SSL-сертифіката URL-адреса користувача зміниться з HTTP на HTTPS. Щоб сертифікат автоматично оновлювався, користувач може налаштувати завдання cron, яке перевірятиме його щодня. Certbot надає скрипт, який може автоматично оновлювати сертифікат. Перш ніж налаштовувати завдання cron, користувач повинен протестувати скрипт, виконавши пробний запуск за допомогою такої команди:

sudo certbot renew --dry-run

Після підтвердження успішного запуску користувач може налаштувати завдання cron для автоматизації процесу оновлення сертифіката. Для цього користувач може використовувати таку команду:

sudo crontab -e

Ця команда відкриває таблицю cron користувача в режимі редагування. Далі користувач може додати в кінець файлу наступний рядок, щоб запланувати щоденну перевірку оновлень о 2:30 ночі:

30 2 * * * /usr/bin/certbot renew –quiet

Після того як користувач збереже і вийде з файлу, cron буде щодня автоматично перевіряти сертифікати і за необхідності оновлювати їх.

Оновлення Jellyfin Media Server

Для оновлення Jellyfin Media Server можна використовувати стандартні команди apt, як і для будь-якого іншого пакета в системі. Це робить оновлення Jellyfin простим процесом.

Щоб перевірити наявність оновлень, виконайте таку команду:

sudo apt update

Якщо є якісь оновлення, виконайте команду upgrade:

sudo apt upgrade

Видалення (деінсталяція) Jellyfin Media Server з Linux Mint

Для видалення Jellyfin із системи можна скористатися такою командою:

sudo remove install jellyfin

Щоб унеможливити випадкове перевстановлення Jellyfin у майбутньому, рекомендується видалити репозиторій Jellyfin із системи. Для його видалення можна скористатися такою командою:

sudo rm /etc/apt/sources.list.d/jellyfin.list

Ця команда видалить файл сховища для Jellyfin з каталогу sources.list.d, що запобіжить подальшим оновленням або встановленню Jellyfin.

Висновок

На закінчення слід зазначити, що налаштування медіасервера може здатися складним завданням, але за допомогою Jellyfin і Linux його можна виконати швидко й ефективно. Jellyfin – це безкоштовний медіасервер з відкритим вихідним кодом, що володіє широким набором функцій, що робить його ідеальним вибором для тих, хто хоче створити медіасервер.

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x