VPSРейтинг
Медиасервер28 февраля 2026 · 14 мин чтения

Jellyfin на VPS: свой Netflix без подписки

Jellyfin — это бесплатный медиасервер с открытым кодом. Устанавливаете его на VPS, загружаете свои фильмы и сериалы — и получаете Netflix, который работает 24/7, не собирает данные о вас и не требует ни копейки ежемесячной платы.

1. Зачем Jellyfin на VPS, а не дома

Дома тоже можно запустить медиасервер — но тогда он работает только пока включён ваш компьютер. VPS работает круглосуточно. Смотрите фильм в отпуске, включаете что-то в дороге с телефона — сервер всегда онлайн.

КритерийJellyfin на VPSPlexNetflix
СтоимостьVPS ~300–500 ₽/месБесплатно / 499 ₽/мес Plex Pass799+ ₽/мес
Ваш контентЛюбые файлыЛюбые файлыТолько их каталог
РекламаНетЕсть в бесплатнойНет
ПриватностьДанные только вашиPlex собирает статистикуОтслеживает всё
Доступ 24/7ДаЗависит от настройкиДа
Открытый кодДа, GPL-2.0НетНет

Jellyfin — это форк Emby, который в 2018 году закрыл исходный код. Команда разработчиков ушла и создала полностью открытую альтернативу. Сегодня это зрелый проект с десятками тысяч звёзд на GitHub и активным сообществом.

2. Требования к серверу

Потребности Jellyfin зависят от того, как вы будете смотреть видео. Есть два принципиально разных режима — прямое воспроизведение и транскодирование. Подробнее о них в разделе 8, но уже сейчас нужно понять: на дешёвом VPS лучше настроить прямое воспроизведение.

RAM

от 2 ГБ

Jellyfin без активного транскодирования потребляет ~300–500 МБ. 2 ГБ достаточно для 1–2 пользователей при прямом воспроизведении.

CPU

2+ vCPU

Без транскодирования достаточно 1 vCPU. С транскодированием: 1–2 ядра на каждый поток 1080p. Для 4K транскодирования на VPS без GPU — крайне не рекомендуется.

Диск

под медиатеку

1080p фильм (2 часа): 8–20 ГБ в зависимости от качества. 4K: 40–80 ГБ. Конфиг и кэш Jellyfin займут ещё ~1–3 ГБ. Выбирайте VPS с дополнительным объёмным диском или SSD-хранилищем.

Канал

100+ Мбит/с

На один поток 1080p при прямом воспроизведении H.264: 8–15 Мбит/с. Большинство VPS дают 100–1000 Мбит/с — этого хватит на несколько одновременных просмотров.

VPS без GPU — и это нормально

На облачных VPS аппаратного ускорения (Intel Quick Sync, NVIDIA NVENC) обычно нет. Это не проблема, если настроить клиенты на прямое воспроизведение — тогда CPU вообще не задействован для декодирования видео. Большинство современных устройств (iPhone, Android, браузер Chrome) поддерживают H.264 напрямую.

3. Установка через Docker Compose

Если Docker ещё не установлен — поставьте его одной командой:

Официальный скрипт установки Docker
curl -fsSL https://get.docker.com | sh

Создайте структуру папок

Три папки для Jellyfin: конфигурация, кэш (миниатюры, метаданные), медиатека.

Создать папки для Jellyfin и медиатеки
mkdir -p /opt/jellyfin/{config,cache}
mkdir -p /mnt/media/{Фильмы,Сериалы,Музыка}

Папка /mnt/media — ваша медиатека. Можно использовать любой путь, главное — один и тот же везде.

Docker Compose файл

/opt/jellyfin/docker-compose.yml
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    ports:
      - "127.0.0.1:8096:8096"    # Только localhost — доступ через Nginx
    volumes:
      - /opt/jellyfin/config:/config
      - /opt/jellyfin/cache:/cache
      - /mnt/media:/media:ro       # :ro = read-only, Jellyfin не меняет файлы
    environment:
      - JELLYFIN_PublishedServerUrl=https://jellyfin.example.ru

Замените jellyfin.example.ru на свой поддомен. Порт привязан к 127.0.0.1 — снаружи он недоступен, Nginx будет проксировать запросы.

Запустить Jellyfin
cd /opt/jellyfin
docker compose up -d

# Проверить что запустился
docker ps | grep jellyfin
docker logs jellyfin --tail 20

Через 10–20 секунд Jellyfin будет доступен локально на http://127.0.0.1:8096. Пока Nginx не настроен — откройте мастер через SSH-туннель:

SSH-туннель для первоначальной настройки (в терминале на вашем компьютере)
ssh -L 8096:127.0.0.1:8096 user@IP_ВАШЕГО_VPS

# После этого откройте в браузере: http://localhost:8096

4. Первоначальная настройка

Откройте http://localhost:8096 в браузере — запустится мастер настройки. Он пройдёт через несколько шагов.

1

Язык интерфейса

Выберите русский — он поддерживается полностью.

2

Создание аккаунта администратора

Придумайте имя пользователя и надёжный пароль. Это ваша учётная запись — сохраните пароль.

3

Добавление медиатеки

Нажмите «Добавить медиатеку». Тип: «Фильмы». Путь: /media/Фильмы (путь внутри контейнера). Язык метаданных: Русский. Нажмите «Ок» → «Далее».

4

Настройки метаданных

Оставьте по умолчанию — Jellyfin будет брать постеры и описания с The Movie Database (TMDb). Для работы метаданных нужен интернет на VPS.

5

Готово

Нажмите «Готово». Jellyfin начнёт сканировать медиатеку и скачивать метаданные.

Путь к медиатеке — внутри контейнера

В Docker Compose мы примонтировали /mnt/media как /media внутри контейнера. Поэтому в мастере настройки нужно указывать /media/Фильмы, а не /mnt/media/Фильмы. Jellyfin «видит» только пути внутри контейнера.

5. Структура медиатеки — правила именования

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

Фильмы

Каждый фильм — в отдельной папке. Папка и файл называются одинаково: «Название (Год)».

Правильная структура папки с фильмами
/mnt/media/Фильмы/
├── Интерстеллар (2014)/
│   └── Интерстеллар (2014).mkv
├── Дюна (2021)/
│   ├── Дюна (2021).mkv
│   └── Дюна (2021).ru.srt   # субтитры — называются так же
└── Inception (2010)/
    └── Inception (2010).mkv

Сериалы

Сериал → папка сезона → эпизоды. Сезоны называются «Season 01», «Season 02» — именно так, с ведущим нулём.

Правильная структура папки с сериалами
/mnt/media/Сериалы/
└── Чернобыль (2019)/
    └── Season 01/
        ├── Чернобыль - S01E01.mkv
        ├── Чернобыль - S01E02.mkv
        ├── Чернобыль - S01E03.mkv
        ├── Чернобыль - S01E04.mkv
        └── Чернобыль - S01E05.mkv
ПравилоПравильноНеправильно
Год в круглых скобкахФильм (2024).mkvФильм 2024.mkv
Эпизод с тиреСериал - S01E01.mkvСериал S01E01.mkv
Season с нулёмSeason 01S01 или Сезон 1
Каждый фильм в папкеФильм (2024)/Фильм (2024).mkvФильм (2024).mkv (в корне)
Нет спецсимволовФильм (2024).mkvФильм: Часть 1 (2024).mkv

Нельзя использовать в именах файлов символы: : / \ | ? * " < > — они зарезервированы в файловых системах Windows и вызывают проблемы при переносе.

Как загрузить файлы на VPS

Загрузить фильм по SSH (выполнять на своём компьютере)
# Один файл
scp "Дюна (2021).mkv" user@IP:/mnt/media/Фильмы/"Дюна (2021)"/

# Целую папку с сериалом
rsync -avP "Чернобыль (2019)/" user@IP:/mnt/media/Сериалы/"Чернобыль (2019)/"

6. Nginx + SSL: доступ по красивому домену

Сейчас Jellyfin доступен только локально на порту 8096. Настроим Nginx как обратный прокси и добавим SSL-сертификат от Let's Encrypt — тогда сервер будет доступен по адресу https://jellyfin.example.ru.

Добавьте DNS-запись

В панели DNS вашего домена добавьте A-запись:

ТипИмяЗначениеTTL
AjellyfinIP вашего VPS3600

Установите Nginx и Certbot

Установка Nginx и Certbot на Ubuntu
apt update
apt install -y nginx certbot python3-certbot-nginx

Создайте конфиг Nginx

Jellyfin использует WebSocket для уведомлений и синхронизации просмотра. Для этого нужен отдельный блок /socket с заголовком Upgrade.

/etc/nginx/sites-available/jellyfin
server {
    listen 80;
    server_name jellyfin.example.ru;

    # Обычные запросы → Jellyfin
    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_buffering    off;
    }

    # WebSocket — нужен для уведомлений и SyncPlay
    location /socket {
        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;
    }
}
Активировать конфиг и получить SSL-сертификат
# Активировать сайт
ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/

# Проверить синтаксис (должно быть "test is successful")
nginx -t && systemctl reload nginx

# Получить сертификат — certbot добавит HTTPS-блок и редирект HTTP→HTTPS
# (замените на ваш домен и email)
certbot --nginx -d jellyfin.example.ru --non-interactive   --agree-tos --email admin@example.ru --redirect

# Перезапустить Nginx с SSL
systemctl reload nginx

Добавьте IP прокси в Jellyfin

После настройки Nginx откройте Jellyfin → Панель управления → Сеть → найдите поле «Known Proxies» (Известные прокси) и добавьте 127.0.0.1. Без этого Jellyfin будет видеть все подключения как с адреса 127.0.0.1 вместо реальных IP клиентов — это влияет на статистику и безопасность.

7. Мобильные приложения

После настройки домена ваш Jellyfin доступен с любого устройства — нужно только указать адрес сервера в приложении.

iOS / iPadOS

SwiftfinРекомендуется

Официальный open-source клиент Jellyfin для iPhone и iPad. Нативный интерфейс, быстрый, поддерживает прямое воспроизведение через VLC. Бесплатно в App Store.

InfuseПлатный

Платный (~$9.99/год), но лучший по качеству воспроизведения и поддержке форматов. Поддерживает Dolby Vision, HDR, DTS. Для тех кто смотрит 4K Blu-ray рипы.

Android

FindroidРекомендуется

Неофициальный клиент с нативным Android-интерфейсом. Ориентирован на прямое воспроизведение без транскодирования. Доступен в Google Play и F-Droid.

Jellyfin (офиц.)Официальный

Официальное приложение Jellyfin для Android. Поддерживает транскодирование и все функции сервера, но интерфейс проще чем у Findroid.

Подключение к серверу в приложении

При первом запуске приложение спросит адрес сервера. Введите:

https://jellyfin.example.ru

Затем войдите с логином и паролем, которые вы создали при настройке.

Просмотр в браузере

Jellyfin прекрасно работает в браузере — просто откройте https://jellyfin.example.ru в Chrome или Firefox. Браузер поддерживает прямое воспроизведение H.264 без транскодирования. Для H.265 (HEVC) Chrome будет транскодировать на сервере — в этом случае лучше использовать мобильное приложение или Microsoft Edge на Windows (Edge поддерживает H.265 напрямую через кодеки Windows).

8. Direct Play и транскодирование

Это ключевое понятие в Jellyfin. От него зависит, будет ли видео идти плавно или с тормозами.

Direct Play — идеально

Клиент получает файл и воспроизводит его сам — сервер не тратит CPU. Нагрузка: минимальная (только передача по сети).

Условие: клиент поддерживает кодек и формат файла.

Transcoding — тяжело

Сервер перекодирует видео на лету через FFmpeg. 1080p H.264 ≈ 1–2 ядра CPU. На бюджетном VPS — 1–2 одновременных потока максимум.

Условие: клиент не поддерживает исходный кодек.

Как обеспечить Direct Play

Главный совет: храните фильмы в формате H.264 / MKV или MP4. Это самый поддерживаемый кодек — его «понимают» почти все устройства напрямую.

КодекChromeSafari / iPhoneAndroid
H.264 (AVC)Direct PlayDirect PlayDirect Play
H.265 (HEVC)ТранскодированиеDirect Play (iOS 11+)Зависит от чипа
AV1Direct PlayDirect Play (iOS 16+ / iPhone 12+)Direct Play (Chrome Android)
VP9Direct PlayТранскодированиеDirect Play

Как проверить что происходит при просмотре

Во время воспроизведения нажмите на индикатор в левом нижнем углу экрана — откроется информация о сессии. Ищите строку:

Direct PlayОтлично — сервер не нагружается, плавное воспроизведение
Direct StreamХорошо — перепаковка контейнера без перекодирования, CPU почти не нагружается
TranscodingНагрузка на CPU — лучше сконвертировать файл или сменить клиент

Конвертация в H.264 для максимальной совместимости

Если файл в H.265 или другом формате — конвертируйте на VPS через FFmpeg:

Конвертировать H.265 → H.264 (установите ffmpeg: apt install -y ffmpeg)
ffmpeg -i "Фильм (2024).mkv"   -c:v libx264 -crf 20 -preset slow   -c:a copy   "Фильм (2024) - h264.mkv"

-crf 20 — качество (18 = лучше, 28 = хуже, 20 — хороший баланс). Конвертация займёт время: примерно 1–3 часа для 2-часового фильма на 2 vCPU.

Частые проблемы

Нужен VPS под Jellyfin с большим диском и хорошим каналом?

Топ VPS-провайдеров →

Смотрите также