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 – це безкоштовний медіасервер з відкритим вихідним кодом, що володіє широким набором функцій, що робить його ідеальним вибором для тих, хто хоче створити медіасервер.