MAATRIX / Блог / Как установить и настроить Emby на VPS

Как установить и настроить Emby на VPS

MAATRIX

Домашний NAS с фильмами хорош, пока не нужно смотреть их не дома — у родителей, в поездке, с телефона в метро. Плюс диск в NAS рано или поздно забивается, а сам NAS не тянет транскодирование для слабого телевизора. Решение — вынести Emby Server на VPS: коллекция всегда доступна по своему домену, транскодирование делает процессор сервера, а не роутер, и с диском на 200-500 ГБ не нужно ничего чинить руками каждые полгода.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое Emby и когда он лучше Plex или Jellyfin

Emby — медиасервер того же класса, что Plex и Jellyfin: раскладывает фильмы и сериалы по метаданным (постеры, описания, субтитры), отдаёт поток на телевизоры, приставки, телефоны и веб, умеет транскодировать видео на лету под слабый канал или неподдерживаемый формат.

Ключевые отличия от соседей:

  • От Plex — Emby можно развернуть полностью автономно, без обязательной привязки к аккаунту plex.tv для базовых функций. Часть премиум-фич (аппаратное транскодирование, синхронизация офлайн) в Emby тоже платная — через Emby Premiere, но подписка не обязательна для работы сервера как такового.
  • От Jellyfin — Emby closed-source, зато интерфейс и клиенты (включая приложения для Smart TV, Roku, Android TV) чуть более отполированы и обновляются стабильнее. Jellyfin полностью бесплатен и открыт, но местами грубее в мелочах.

Если вы уже сравнивали варианты и не определились — у нас есть отдельный разбор Jellyfin или Plex: что выбрать для сервера, логика применима и к выбору между Emby и его конкурентами: разница не в мощности, а в экосистеме клиентов и готовности платить за премиум-фичи.

Какой VPS нужен под Emby

Медиасервер не требователен к CPU, пока не начинается транскодирование — прямая раздача файла (direct play) почти не грузит процессор. Проблемы начинаются, когда клиент не поддерживает исходный формат (например, 4K HEVC на старом телевизоре) и Emby на лету перекодирует поток в реальном времени — это уже ощутимая нагрузка на CPU, особенно без GPU.

Ориентир для домашнего использования (2-4 одновременных потока, редкое транскодирование в 1080p):

ПараметрМинимумКомфортно
vCPU2 ядра4 ядра
RAM2 ГБ4 ГБ
Диск50 ГБ SSD (только система + кэш)200+ ГБ SSD/NVMe
Сеть100 Мбит/с500 Мбит/с - 1 Гбит/с

Важный нюанс: на большинстве VPS нет GPU, поэтому аппаратное транскодирование (NVENC, QuickSync) недоступно — всё идёт через CPU (software transcoding), а это заметно тяжелее. Если планируете часто транскодировать 4K на слабых клиентах, берите тариф с большим числом ядер и следите за загрузкой — иначе поток будет заикаться. Для основной массы сценариев (прямая раздача 1080p, редкий 4K для 1-2 человек) хватает 2-4 vCPU.

Диск под саму библиотеку файлов на VPS часто невыгоден по цене за гигабайт — многие держат медиатеку на подключённом сетевом хранилище или синхронизируют её через rclone с внешним облаком, а на VPS остаётся только Emby и системные файлы. Если у вас уже есть медленный диск и вы не понимаете, в чём тормоза, — отдельная статья про диагностику медленного диска на VPS поможет найти причину до того, как она испортит просмотр.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Установка Emby Server через Docker

Проще и предсказуемее всего ставить Emby в Docker — не нужно возиться с внешними репозиториями и версиями пакетов под конкретный дистрибутив. Если Docker ещё не установлен, сначала пройдите установку Docker на Ubuntu 24.04 (или на Debian 12, если используете его).

Создайте рабочую директорию и docker-compose.yml:

sudo mkdir -p /opt/emby/{config,media}
cd /opt/emby
sudo nano docker-compose.yml

Содержимое файла:

services:
  emby:
    image: emby/embyserver:latest
    container_name: emby
    restart: unless-stopped
    network_mode: host
    volumes:
      - /opt/emby/config:/config
      - /opt/emby/media:/media
    environment:
      - UID=1000
      - GID=1000
      - GIDLIST=1000

network_mode: host упрощает обнаружение устройств в локальной сети (DLNA, автопоиск клиентами) — если это не нужно, можно заменить на явный проброс портов 8096:8096 и 8920:8920 (HTTPS). Запуск:

sudo docker compose up -d

Проверьте, что контейнер поднялся:

sudo docker ps | grep emby
sudo docker logs emby --tail 50

Веб-интерфейс мастера настройки станет доступен по адресу http://IP-сервера:8096.

Первичная настройка: язык, аккаунт, библиотеки

При первом заходе на порт 8096 запускается пошаговый мастер:

  1. Язык интерфейса и сервера.
  2. Создание первого пользователя (администратор) — придумайте нормальный пароль сразу, не оставляйте пустым.
  3. Добавление медиатек. Указываете путь внутри контейнера (/media/...), тип контента (фильмы, сериалы, музыка) и источник метаданных (TheMovieDB, TheTVDB).
  4. Настройка удалённого доступа — на этом шаге можно сразу включить доступ извне, но лучше настроить его через reverse-proxy с HTTPS (следующий раздел), а не открывать порт напрямую.

Файлы для библиотеки нужно предварительно закинуть в /opt/emby/media на хосте — это тот же путь, что смонтирован в контейнер как /media. Загружать можно через scp, rsync, торрент-клиент на самом сервере или синхронизацию с облаком через rclone. Структура папок важна для корректного распознавания метаданных, например:

/opt/emby/media/movies/Дюна (2021)/Dune.2021.1080p.mkv
/opt/emby/media/tvshows/Во все тяжкие/Season 01/S01E01.mkv

Emby по умолчанию сканирует библиотеку раз в несколько часов и по событию (появление нового файла), это можно настроить в Панель управления → Библиотеки → Расписание сканирования.

Домен, HTTPS и защита доступа

Открывать 8096-й порт наружу без HTTPS — плохая идея: логин и сессия пойдут в открытом виде. Правильный путь — привязать поддомен и поставить reverse-proxy с автоматическим SSL.

Сначала настройте DNS: если у вас ещё нет привязанного домена к серверу, начните с настройки домена и DNS с нуля на Ubuntu 24.04. Затем поставьте Caddy — он сам получает и продлевает сертификаты Let's Encrypt, инструкция здесь: установка и настройка Caddy с авто-SSL на VPS.

Пример Caddyfile для проксирования на Emby:

emby.вашдомен.ru {
    reverse_proxy localhost:8096
}

После перезапуска Caddy сервис станет доступен по https://emby.вашдомен.ru с валидным сертификатом, а порт 8096 наружу открывать не нужно вовсе — оставьте его только на loopback/локальной сети, если используете network_mode: host, ограничьте прямой доступ файрволом.

Настройте UFW, если ещё не настраивали: установка и настройка файрвола UFW на VPS. Минимальный набор правил для схемы с Caddy:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw deny 8096/tcp
sudo ufw enable

Так снаружи открыты только SSH и веб-порты, которые обслуживает Caddy, а прямой обход через 8096 закрыт.

Транскодирование, автозапуск и бэкапы

Транскодирование — самое узкое место на VPS без GPU. В Панель управления → Воспроизведение → Транскодирование можно:

  • Ограничить максимальное качество транскодируемого потока (например, не выше 1080p), чтобы не перегружать CPU на 4K-исходниках.
  • Указать временную папку для транскодирования на быстром диске (/config/transcodes по умолчанию) — если система стоит на медленном сетевом хранилище, вынесите temp-папку на локальный SSD.
  • Ограничить число одновременных транскодирующих потоков, если сервер делят несколько человек — иначе при 3-4 одновременных перекодированиях 4K CPU просто не справится, и все потоки начнут заикаться. Точные цифры зависят от конкретного CPU и битрейта исходников, поэтому лучше проверить нагрузку через htop во время реального просмотра и подстроить лимиты под наблюдаемую картину, а не полагаться на общие ориентиры.

Автозапуск после перезагрузки сервера обеспечивает restart: unless-stopped в docker-compose — контейнер поднимется сам после reboot, если демон Docker стартует при загрузке (по умолчанию так и есть).

Бэкап нужен только для папки config — там хранится база данных с метаданными, настройками пользователей и историей просмотра. Саму медиатеку (обычно самый тяжёлый объём) бэкапить отдельно смысла обычно нет — проще пересобрать при необходимости из источника. Простой вариант:

sudo tar -czf emby-config-$(date +%F).tar.gz -C /opt/emby config

Для регулярного автоматического бэкапа удобно взять готовый контейнер restic или borgbackup — есть отдельные разборы: restic в docker-compose и borgbackup в docker-compose, оба подходят для папки /opt/emby/config.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Нужен ли GPU для Emby на VPS?

Нет, для прямой раздачи файлов (direct play) GPU не требуется вовсе. Он нужен только для аппаратного транскодирования — на большинстве VPS такого железа нет, транскодирование идёт через CPU и требует больше ресурсов.

Можно ли перенести существующую библиотеку Emby с домашнего сервера на VPS?

Да — скопируйте папку config целиком (там база SQLite со всеми метаданными и настройками) и файлы медиатеки через rsync или scp, пути внутри контейнера нужно будет привести в соответствие с новой структурой.

Emby бесплатен?

Базовый сервер и клиенты бесплатны. Часть функций (аппаратное транскодирование, синхронизация для офлайн-просмотра, некоторые мобильные клиенты) требуют подписки Emby Premiere.

Сколько человек может смотреть одновременно?

Зависит от того, идёт ли прямая раздача или транскодирование. При direct play ограничение практически только в сети (ширина канала сервера), при транскодировании — в CPU: на 2-4 vCPU комфортно работают 2-3 параллельных перекодируемых потока в 1080p.

Чем Emby отличается от простого файлового хранилища с плеером в браузере?

Emby добавляет метаданные, единую библиотеку по всем устройствам, историю просмотра, транскодирование под слабые каналы и клиенты для ТВ/приставок — то, чего нет у голой раздачи файлов по HTTP.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →