Медиа · без KYC
Хостинг Jellyfin на офшорном VPS
Разверните полностью автономный медиасервер Jellyfin на offshore-VPS без KYC и транслируйте свою библиотеку откуда угодно — без подписки и без аккаунта, привязанного к вашей личности.
Что это такое
Jellyfin — это бесплатный медиасервер с открытым исходным кодом, который организует и транслирует ваши фильмы, сериалы, музыку и фотографии на любое устройство через веб-браузер или нативные приложения. В отличие от коммерческих платформ, здесь нет лицензионных ключей, телеметрии и зависимости от облака — сервер и данные полностью принадлежат вам.
Почему размещать это оффшорно
Размещение Jellyfin на VPS без KYC с оплатой криптовалютой не оставляет у провайдера записей о вашей личности и не связывает с ней вашу медиатеку и историю просмотров, а offshore-юрисдикции privacy-уровня создают дополнительную правовую дистанцию от режимов обязательного хранения данных. Безлимитный трафик означает, что большие библиотеки и несколько одновременных удалённых трансляций не выльются в неожиданные счета за гигабайты, как это бывает в обычных облачных сервисах.
Развёртывание
Рабочая эталонная конфигурация
Скопируйте это на новый инстанс ChainVPS. Замените плейсхолдеры и запустите.
# 1. Создайте на хосте каталоги для данных
# mkdir -p /srv/jellyfin/{config,cache} /srv/media
#
# 2. Сохраните это как /srv/jellyfin/docker-compose.yml и выполните: docker compose up -d
# После этого веб-интерфейс будет доступен по адресу http://SERVER_IP:8096 (для продакшена разместите перед ним reverse proxy + TLS)
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
user: "1000:1000" # запуск от непривилегированного пользователя хоста, владеющего томами
restart: unless-stopped
ports:
- "8096:8096" # HTTP веб-интерфейс / API
- "8920:8920" # опционально HTTPS (только если TLS терминируется внутри контейнера)
- "7359:7359/udp" # опционально автообнаружение клиентов в локальной сети
- "1900:1900/udp" # опционально DLNA
volumes:
- /srv/jellyfin/config:/config
- /srv/jellyfin/cache:/cache
- /srv/media:/media:ro # ваша библиотека, смонтирована только для чтения в целях безопасности
environment:
- TZ=Europe/Amsterdam
# Для аппаратного транскодирования Intel/AMD (VAAPI) также добавьте:
# devices:
# - /dev/dri:/dev/dri
Файрвол
Порты для открытия
| Порт | Протокол | Назначение |
|---|---|---|
| 8096 | TCP | Основной порт для веб-интерфейса и API по HTTP — единственный порт, который обычно нужно открывать наружу (за TLS reverse proxy) |
| 8920 | TCP | Опционально встроенный HTTPS, если TLS терминируется самим Jellyfin, а не прокси |
| 7359 | UDP | Опционально автообнаружение клиентов в локальной сети — на публичном VPS держите закрытым |
| 1900 | UDP | Опционально DLNA/SSDP — на публичном VPS держите закрытым |
Подбор оптимального размера
Какой план вам нужен
VPS Small (2 vCPU / 4 GB)
1-2 потока прямого воспроизведения без транскодирования — файлы проигрываются как есть. Подходит для личной библиотеки при трансляции на современные клиенты.
VPS Pro (4+ vCPU / 8 GB)
Несколько одновременных программных транскодирований в 1080p. Узкое место — CPU: больше ядер — больше параллельных транскодирований.
GPU VPS или Dedicated (+ план Storage для библиотеки)
4K и множество параллельных транскодирований: добавьте GPU для аппаратного транскодирования NVENC/QSV/VAAPI и подключите план Storage, когда библиотека перерастёт локальный NVMe.
Лучшие локации: Подойдёт любая из 15 локаций, но для приватного медиасервера лучше всего подходят шесть privacy-юрисдикций (NL, CH, RO, IS, MD, LU): Швейцария и Исландия — благодаря самому строгому уровню защиты данных, а Нидерланды и Румыния — благодаря высокоскоростному европейскому пирингу, который обеспечивает плавную удалённую трансляцию на безлимитных каналах. Выбирайте локацию ближе к месту, где вы фактически смотрите контент, чтобы минимизировать задержку и буферизацию при транскодировании.
Обеспечьте полную защиту
Чек-лист по усилению защиты
- Никогда не открывайте порт 8096 напрямую в интернет — разместите перед ним Nginx/Caddy с действующим TLS-сертификатом, чтобы учётные данные и трансляции были зашифрованы, и публикуйте только HTTPS-эндпоинт.
- В Jellyfin Dashboard > Networking отключите опцию 'Enable automatic port mapping (UPnP)' и выключите удалённый DLNA; монтируйте том с медиа только для чтения (:ro), как показано выше, чтобы скомпрометированный контейнер не мог изменить исходные файлы.
- Создайте отдельного пользователя без прав администратора для повседневного просмотра, а учётную запись admin оставьте только для настройки; включите встроенную защиту от перебора паролей/неудачных попыток входа и используйте длинные уникальные пароли.
- Держите контейнер на закреплённом и регулярно обновляемом образе и по расписанию выполняйте `docker compose pull && docker compose up -d` — Jellyfin часто выпускает исправления безопасности; маппинг непривилегированного user:"1000:1000" ограничивает возможный ущерб при компрометации.
- Разместите перед сервером встроенную защиту от DDoS и рассмотрите ограничение доступа к пути admin/dashboard по белому списку IP или через VPN, чтобы извне был доступен только публичный эндпоинт трансляции.
Разверните на
Правильный продукт ChainVPS
Вопросы
Хостинг Jellyfin — FAQ
Нужен ли GPU для запуска Jellyfin?
Нет. Если клиенты могут воспроизводить ваши файлы напрямую (совпадающие кодек/контейнер), Jellyfin просто транслирует их, и нагрузка на CPU минимальна. GPU важен только для аппаратного транскодирования, когда клиентам нужен другой формат или разрешение — для 4K или множества параллельных транскодирований план с GPU даёт значительный выигрыш в эффективности по сравнению с программным транскодированием.
Действительно ли безлимитный трафик покроет потребности медиасервера?
Да — именно в этом смысл размещения здесь. Удалённая трансляция сильно нагружает канал (поток 1080p может занимать 8-15 Мбит/с), и на облаках с тарификацией по трафику это оборачивается неожиданными счетами. Безлимитные каналы ChainVPS позволяют транслировать большую библиотеку на несколько устройств без оплаты за гигабайты.
Где хранить библиотеку, которая не помещается на диск VPS?
Совместите вычислительный план с планом Storage и подключите его как том /media, либо подключите блочное хранилище. Держите /config и /cache Jellyfin на быстром NVMe для отзывчивого интерфейса, а основную массу медиафайлов размещайте на более объёмном и дешёвом уровне хранения.
Является ли размещение Jellyfin здесь приватным?
Сам Jellyfin не отправляет телеметрию и не требует учётной записи у какого-либо вендора. В сочетании с регистрацией без KYC, оплатой криптовалютой и offshore-локацией privacy-уровня не остаётся никаких записей о личности, связывающих вас с сервером или его содержимым. Всегда добавляйте TLS, чтобы трансляция между вами и сервером была зашифрована при передаче.
Как безопасно поддерживать его в актуальном состоянии?
Поскольку это один контейнер, обновление сводится к `docker compose pull && docker compose up -d`. Ваши данные находятся в смонтированных томах /config и /media, поэтому загрузка нового образа не затрагивает библиотеку и настройки. Периодически делайте резервную копию каталога /config, чтобы сохранить метаданные и учётные записи пользователей.
Больше для самостоятельного хостинга
Другие стеки в один клик
Разверните Jellyfin
в течение следующих 60 секунд.
Безлимитный трафик · DDoS-защита включена · 21 криптовалюта · без KYC.