Поиск по сайту:

Как запустить Emby Media Server в контейнере Docker


Emby — это исключительное медиа-/театральное приложение, которое позволяет вам собирать все ваши фильмы, видео, музыку, аудиокниги, игры и фотографии в одном месте. С Emby довольно просто настроить дома персональный медиа-сервер, способный автоматически конвертировать и транслировать медиафайлы прямо на лету, которые можно воспроизводить на любом устройстве. Emby поставляется с достойными ограничениями родительского контроля, подходящими для домашнего использования, когда дети имеют доступ. Вы можете создавать пользователей, создавать расписания доступа, ограничения по времени и многое другое.

В этом руководстве мы выполним установку, изучим необходимые конфигурации и общее использование Emby Media Server, работающего внутри контейнера. Преимущество запуска Emby в контейнере Docker заключается в том, что нет зависимости от конкретной ОС Linux, есть только Docker Engine и бум! Emby Server построен на основе популярных технологий с открытым исходным кодом, таких как jQuery, Service Stack, jQuery mobile и .NET Core.

Установить механизм Docker

Прочтите нашу статью, посвященную установке Docker Engine в системах Linux.

  • Как установить Docker Engine в системах Linux

Установленную версию Docker можно проверить через командную строку.

$ docker version
Client: Docker Engine - Community
 Version:           25.0.3
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        4debf41
 Built:             Tue Feb  6 21:13:09 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.3
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       f417435
  Built:            Tue Feb  6 21:13:09 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Создать файл Docker Compose

Compose используется для упрощения управления контейнерами, работающими на вашем хост-компьютере. Это упрощает управление сетями, службами и томами в одном файле конфигурации YAML. С помощью одной команды docker compose или docker-compose вы создаете, запускаете, останавливаете или удаляете все службы, определенные в файле конфигурации YAML.

Давайте создадим файл конфигурации для запуска Emby Media Server.

mkdir ~/emby && cd ~/emby
vim docker-compose.yml

Измените содержимое ниже и вставьте в файл.

services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    network_mode: host # Enable DLNA and Wake-on-Lan
    environment:
      - UID=1000 # The UID to run emby as (default: 2)
      - GID=100 # The GID to run emby as (default 2)
      - GIDLIST=100 # A comma-separated list of additional GIDs to run emby as (default: 2)
    volumes:
      - ./data:/config # Configuration directory
      - /path/to/tvshows:/mnt/share1 # Media directory
      - /path/to/movies:/mnt/share2 # Media directory
    ports:
      - 8096:8096 # HTTP port
      - 8920:8920 # HTTPS port
    restart: on-failure

Где;

  • Значения UID, GID и GIDLIST соответствуют владельцу ваших медиафайлов.
  • /path/to/tvshows — путь к вашим телешоу
  • /path/to/movies — это путь к вашим локальным фильмам

Запуск ls -l  покажет информацию о пользователях и группах ваших медиа-каталогов и узлов рендеринга.

Чтобы распечатать UID и GID, используйте getent passwd | Cut -d: -f3 и getent group | Cut -d: -f3 соответственно.

Чтобы запустить сервер Emby, выполните команды ниже.

$ docker compose up -d
[+] Running 5/5
 ✔ emby 4 layers [⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                                  15.6s
   ✔ 8dfc70c9a1cf Pull complete                                                                                                                                                                  0.4s
   ✔ dfdf7ff41865 Pull complete                                                                                                                                                                  3.0s
   ✔ 2e11cacd3fbe Pull complete                                                                                                                                                                  1.6s
   ✔ 9bfa438fee60 Pull complete                                                                                                                                                                  1.1s
[+] Running 0/1
 ⠋ Container embyserver  Creating
[+] Running 2/2
 ✔ Container embyserver                                            Started

Проверить статус контейнера

$ docker compose ps
NAME         IMAGE             COMMAND   SERVICE   CREATED          STATUS          PORTS
embyserver   emby/embyserver   "/init"   emby      50 seconds ago   Up 49 seconds

Порты, которые будет прослушивать сервер Emby.

#  ss -tunelp | grep -i EmbyServer
udp   UNCONN 0      0               127.0.0.1:55124      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=246)) uid:1000 ino:34141 sk:1 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                 0.0.0.0:1900       0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=243)) uid:1000 ino:34138 sk:2 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                 0.0.0.0:44936      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=244)) uid:1000 ino:34139 sk:3 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0           49.13.153.179:57349      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=245)) uid:1000 ino:34140 sk:4 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                       *:7359             *:*    users:(("EmbyServer",pid=3803,fd=239)) uid:1000 ino:34137 sk:7 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope v6only:0 <->
tcp   LISTEN 0      512                     *:8096             *:*    users:(("EmbyServer",pid=3803,fd=208)) uid:1000 ino:34121 sk:a cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope v6only:0 <->

Доступ к веб-интерфейсу Emby Media Server

После успешного запуска контейнера вы сможете получить доступ к веб-интерфейсу через порт 8096 или 8920 на IP-адресе вашего хост докера – http://ServerIP:8096

Создайте первую учетную запись пользователя с правами администратора.

Вы можете добавить медиа-каталоги на этом этапе или сделать это позже на веб-панели.

Включите автоматическое сопоставление портов для удаленного доступа.

Примите условия обслуживания.

После завершения настройки нажмите кнопку «Готово» .

Нажмите «Вход вручную», чтобы продолжить вход.

Войдите в систему, используя имя пользователя и пароль, назначенные при создании пользователя.

Вот внешний вид после входа в систему. Используйте значок Звездочка для доступа к панели администратора.

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

Медиа-библиотеки можно добавить в разделе Настройки –> Библиотека.

Подведение итогов

Процесс настройки сервера Emby прост и состоит всего из нескольких простых шагов. Это решение позволяет любому человеку получить персональный медиа-сервер за считанные секунды. Посетите официальный форум сообщества Emby, чтобы узнать больше.

Похожие статьи:

  • Как установить Jellyfin Media Server в Ubuntu или Debian
  • Как запустить Plex Media Server в контейнерах Docker
  • Установите Plex Media Server в Ubuntu