Как установить 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