maxresdefault - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

В этом руководстве представлены методы настройки медиа-сервера Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

В этом руководстве представлены методы настройки медиа-сервера Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Jellyfin — это форк медиа-сервера с открытым исходным кодом Emby. Они очень похожи по программному обеспечению, но многие считают Jellyfin лучше, поскольку разработчики Emby недавно перешли на закрытый код, Jellyfin позволяет вам хранить свои фильмы, телешоу, музыку и фотографии  в едином потрясающем интерфейсе и передавать эту мультимедийную информацию на ваш компьютер, планшет, мобильный телефон, телевизор, Roku и т. д. в локальной сети или в Интернете. Его можно установить на Linux, MacOS и Windows.

jellyfin - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Особенности Jellyfin

Jellyfin — это форк медиа-сервера Emby. Он обладает множеством тех же функций, что и Plex и Emby.

  • В отличие от Plex или Emby, Jellyfin на 100% бесплатен и имеет открытый исходный код. Без рекламы. Нет ограничений на воспроизведение в мобильных приложениях. (Хотя приложение в iOS не может воспроизводить видео в фоновом режиме.)
  • Смотрите Live TV и устанавливайте автоматические записи, чтобы расширить свою библиотеку.
  • Поддерживает DLNA.
  • Дополнительные плагинымогут быть установлены для обеспечения дополнительных функций.
  • Поддерживает аппаратное ускорение кодирования/декодирования видео с помощью FFMpeg.
  • И много чего еще.

Установка Jellyfin Media Server на Ubuntu 20.04

Jellyfin не входит в стандартный репозиторий Ubuntu, однако у него есть свой личный репозиторий. Выполните следующую команду, чтобы добавить репозиторий Jellyfin в вашу систему Ubuntu.

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

После этого выполните следующую команду, для импорта GPG-ключа Jeffyfin в систему Ubuntu, чтобы APT мог проверять целостность пакета во время установки.

wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -

И поскольку этот репозиторий использует соединение HTTPS, мы дополнительно добавим пакет apt-transport-https и ca-Certificates.

sudo apt install apt-transport-https ca-certificates

И в заключение обновим списки пакетов Ubuntu и установим Jellyfin Media Server

sudo apt update

sudo apt install jellyfin

Эта команда также установит 3 дополнительных пакета в качестве зависимостей:

  • jellyfin-ffmpeg: для перекодирования видео.
  • jellyfin-server: сам медиа-сервер.
  • jellyfin-web: веб-интерфейс сервера.

Теперь медиа-сервер Jellyfin установлен, и мы можем проверить его состояние с помощью команды:

systemctl status jellyfin

status - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Как видите, он запущен и работает на моей системе Ubuntu 20.04. (Нажатием кнопки q, верните управление терминалом.)

Если медиа-сервер Jellyfin не запущен, вы можете запустить его с помощью команды:

sudo systemctl start jellyfin

Видеоинструкция по установке

Веб-интерфейс администрирования находится на порту 8096. Вы сможете войти в него набрав следующий URL-адрес в вашем браузере.

http://127.0.0.1:8096/

Теперь вы должны увидеть экран первоначальной настройки Jellyfin. Начните с выбора предпочитаемого языка в раскрывающемся меню. Затем нажмите кнопку « Далее» , чтобы продолжить.

1 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Следующим шагом будет создание учетной записи пользователя

2 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Теперь вы сможете добавлять библиотеки. Нажмите кнопку «Добавить медиатеку».

3 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Но перед тем как создавать медиатеку, необходимо выполнить некоторые настройки.

Предварительная настройка каталогов для медиатеки Jellyfin Media Server

Теперь нам необходимо создать каталоги для хранения медиафайлов на нашем медиа-сервере. Например, если вы хотите иметь музыку и фильмы на своем сервере, вы должны создать каталоги для их хранения, введя в терминале следующую команду:

sudo mkdir -p /media/files/music && sudo mkdir /media/files/movies

Обратите внимание, что пользователю gen необходимо иметь разрешение на чтение и выполнение в ваших каталогах мультимедиа. Например, мой каталог /media/files/ имеет разрешения только для пользователя root. Пользователи, не входящие в группу, root не могут получить к нему доступ, поэтому нам необходимо выполнить следующую команду, чтобы дать пользователю genправа на чтение и выполнение. (Я не советую менять владельца с помощью команды chown,chgrp. Достаточно использовать команду setfacl,которая входит в пакет ACL.) Выполним следующие команды:

sudo setfacl -m user:gen:rx /media/files/

Также нам необходимо дать права отдельным медиа-каталогам, как показано ниже.

sudo setfacl -m user:gen:rx /media/files/ имя вашего каталога

Также может появиться соблазн добавить рекурсивный флаг ( -R), который дает jellyfinразрешение на чтение и выполнение для каждого файла и подкаталогов на диске.

sudo setfacl -R -m user:gen:rx /media/files/

Делайте это с осторожностью если только ваш внешний жесткий диск используется для хранения мультимедийных файлов, вы можете добавить рекурсивный флаг, но если у вас есть конфиденциальные файлы на внешнем жестком диске, не совету этого делать.

После того, как вы закончите добавлять каталоги мультимедиа, нам необходимо настроить параметры медиатеки. 

Выберите тип контента (фильмы, музыка, телешоу и т.д.) И отображаемое название.

4 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Затем нажмите кнопку « Плюс» (+) , чтобы выбрать папку с медиа-содержимым.

5 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

После того, как вы добавите папку мультимедиа, вы можете настроить параметры библиотеки. Выбрав свой язык, страну и т.д.

6 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Нажмите кнопку ОК. Вы всегда сможете добавить дополнительные библиотеки позже. Нажмите кнопку Следующий.На следующем шаге вы можете выбрать, включить ли дистанционный вход. Но я не рекомендую использовать собственную методологию удаленного входа, поскольку в ней отсутствует шифрование HTTPS, поэтому снимите все флажки  с чекбоксов. Если вам нужен удаленный доступ, ознакомьтесь с методами организации обратного прокси-сервера в этой статье ниже.

7 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Если вы установили Jellyfin на удаленный сервер Ubuntu, вам необходимо настроить обратный прокси-сервер с Nginx или Apache для доступа к веб-интерфейсу, это будет показано ниже в этой статье.

Нажмите кнопку «Следующее» и «Завершить». И сможете, войит в свою учетную запись Jellyfin.

8 - Как установить Jellyfin на Ubuntu 20.04 LTS Server/Desktop.

Настройка обратного прокси

Поскольку Jellyfin располагается по адресу 127.0.0.1:8096, веб-интерфейс  доступен только для подключений с локального компьютера. Чтобы получить доступ к веб-интерфейсу Jellyfin с удаленного компьютера, нам необходимо настроить обратный прокси для Jellyfin с Nginx или Apache.

Nginx

Nginx — чрезвычайно популярный интернет-сервер и обратный прокси. Если вы решите использовать Nginx, запустите следующую команду, чтобы установить его.

sudo apt install nginx

Затем создайте конфигурационный файл для сервера Jellyfin.

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

Добавьте в этот файл следующее содержимое. Замените jellygen.hopto.org своим собственным доменным именем. Вы также должны создать DNS-запись для этого поддомена. Если у вас нет настоящего доменного имени, я рекомендую зайти в Begetи приобрести его.

server {
      listen 80;
      listen [::]:80;
      server_name jellygen.hopto.org;

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

      set $jellyfin 127.0.0.1;

      location / {
          proxy_pass http://127.0.0.1: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://$127.0.0.1:8096;
          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;
      }

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

}

Сохраните и закройте этот файл. После чего проверьте конфигурацию Nginx командой:

sudo nginx -t

Если проверка пройдена успешно, перезапустите Nginx, чтобы изменения вступили в силу, командой:

sudo systemctl reload nginx

Теперь вы можете получить доступ к вашему медиа-серверу Jellyfin набрав адрес в браузере jellygen.hopto.org

Apache

Если вы хотите использовать Apache, установите веб-сервер Apache с помощью следующей команды:

sudo apt install apache2

Чтобы использовать Apache в качестве обратного прокси, нам необходимо включить несколько модулей; прокси и модуль заголовков.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

После чего создайте файл виртуального хоста для Jellyfin.

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

Поместите в файл следующие строчки конфигурации. Замените jellygen.hopto.org фактическим доменным именем. Не забудьте создать A запись DNS  для этого поддомена. Если у вас нет настоящего доменного имени, я рекомендую воспользоваться регистратором Beget и приобрести его.

<VirtualHost *:80>
   ServerName jellygen.hopto.org
   ErrorDocument 404 /404.html

   #HTTP proxy
   ProxyPass / http://localhost:8096/
   ProxyPassReverse / http://localhost:8096/

   #Websocket proxy
   SSLProxyEngine on
   <Location /:/websockets/notifications>
        ProxyPass wss://localhost:8096/:/websockets/notifications
        ProxyPassReverse wss://localhost:8096/:/websockets/notifications
   </Location>

   Header always unset X-Frame-Options
</VirtualHost>

Сохраните и закройте  конфигурационный файл. После чего активируйте этот виртуальный хост.

sudo a2ensite jellyfin.conf

Перезагрузите сервер Apache

sudo systemctl restart apache2

Теперь вы можете получить доступ к вашему медиа-серверу Jellyfin набрав адрес в браузере jellygen.hopto.org

Включение HTTPS

Чтобы зашифровать весь HTTP-трафик, когда вы посещаете ваш сервер извне, нам нужно включить HTTPS, воспользовавшись бесплатным сертификатом TLS, выданным Let’s Encrypt. Используйте следующую команду, чтобы инсталлировать клиент Let’s Encrypt (certbot) в Ubuntu 20.04.

Для Apache

sudo apt install certbot

Для NGINX

sudo apt install python3-certbot-nginx

Для того чтобы получить и установить TLS сертификат выполним следующую команду:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email ваш email -d ваше доменное имя

Если вы используете Apache, вам необходимо установить плагин Apache Certbot .

sudo apt install python3-certbot-apache

Для того чтобы получить и установить TLS сертификат выполним следующую команду:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email ваш@email -d ваше.доменное.имя

Ключи:

—nginx: использовать плагин nginx.
—apache: использовать плагин Apache.
—agree-tos: принятие условия использования (Пользовательское соглашение).
—redirect: принудительно использовать HTTPS с помощью 301 редиректа.
—hsts: добавлять заголовок Strict-Transport-Security к каждому ответу HTTP. Заставить браузер всегда использовать TLS для домена. Защищает от удаления SSL / TLS.
—staple-ocsp: включает сшивание OCSP. Допустимый ответ OCSP прикреплен к сертификату, которые сервер предоставляет через TLS.

Вы получите сертификат и он будет установлен автоматически

Теперь вы сможете подключиться к веб-интерфейсу сервера через безопасное соединение HTTPS : https://jellygen.hopto.org

Понравилась статья? Поделиться с друзьями:
DailyNet
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: