---
title: "Jellyfin: Docker Compose и хостинг в один клик"
description: "Jellyfin — бесплатный медиасервер для ваших фильмов, сериалов и музыки, self-hosted альтернатива Plex. Запустите его на своей машине в один клик."
---

[← Все шаблоны](https://pethost.dev/ru/templates/) · [Медиа](https://pethost.dev/ru/templates/media/)

# Задеплойте Jellyfin в один клик

Медиасервер, который стримит ваши фильмы, сериалы и музыку на любое устройство

Альтернатива Plex и Emby на вашей машине.

[Задеплоить на Pethost](https://console.pethost.dev/?template=jellyfin)

## Что такое Jellyfin?

Jellyfin — бесплатный медиасервер с открытым кодом, который запускают вместо Plex или Emby. Он раскладывает ваши фильмы, сериалы и музыку по медиатекам, подтягивая из интернета постеры, описания и актерский состав, и стримит их в браузер, на телефоны, планшеты и телевизоры. Есть официальные приложения для Android, iOS, Android TV и Fire TV, Roku, телевизоров LG и Samsung, Xbox и Kodi, а на компьютерах работает Jellyfin Media Player. У каждого человека свой аккаунт со своим прогрессом просмотра и родительским контролем.

Jellyfin хостят у себя, чтобы смотреть свои медиафайлы откуда угодно без аккаунта у какой-либо компании и без подписки: у него нет премиум-версии, слежки и центральных серверов. Этот шаблон настраивает его с администратором, которого вы указали в полях, и тремя медиатеками (Movies, Shows и Music) в папках тома media. Подвох — транскодирование. Когда устройство не может воспроизвести файл как есть, Jellyfin перекодирует его на лету, здесь на CPU, а это тяжелая нагрузка, поэтому легкими остаются файлы, которые ваши устройства воспроизводят напрямую, например видео H.264 в MP4.

## Хостинг Jellyfin на Pethost

1. Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
2. Окно «Новый проект» открывается на приложении Jellyfin. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: **Имя пользователя**, **Пароль администратора**.
3. Через минуту-две Jellyfin работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
4. Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.

## Вопросы про Jellyfin

**Jellyfin действительно бесплатный?**

Да. Jellyfin — свободное ПО под лицензией GNU GPL: его сервер и официальные приложения ничего не стоят, а премиум-версии и платных функций нет. Его разрабатывают волонтеры.

**Jellyfin или Plex: в чем разница?**

И Jellyfin, и Plex стримят ваши собственные медиафайлы на ваши устройства. У Plex сервер с закрытым кодом, аккаунты работают через plex.tv, а с апреля 2025 года, чтобы смотреть свои медиафайлы вне дома, нужен Plex Pass или Remote Watch Pass. У Jellyfin открытый код, сторонний аккаунт ему не нужен, и он ни за что не берет денег.

**Какие устройства поддерживает Jellyfin?**

Любой современный браузер, а также официальные приложения для Android, iOS, Android TV и Fire TV, Roku, LG webOS, Samsung Tizen и Xbox. Jellyfin Media Player работает на Windows, macOS и Linux, а дополнение JellyCon встраивает Jellyfin в Kodi.

**Как называть фильмы и сериалы для Jellyfin?**

Положите каждый фильм в папку с его названием и годом, например Big Buck Bunny (2008), а видео внутри назовите так же. Для сериала заведите отдельную папку, внутри нее Season 01, Season 02 и так далее, а серии называйте вроде Show Name S01E01.mkv. Тогда Jellyfin найдет правильные постеры и описания.

**Нужна ли для Jellyfin видеокарта?**

Нет. Видеокарта (GPU) только ускоряет транскодирование, то есть перекодирование, которое нужно устройству, когда оно не может воспроизвести файл как есть; без нее Jellyfin транскодирует на CPU. Сложный случай — HDR-видео: в документации Jellyfin сказано, что ни один современный потребительский CPU не делает для него тон-маппинг в реальном времени. Файлы, которые ваши устройства воспроизводят как есть, транскодировать вообще не нужно.

**Сколько памяти и диска нужно Jellyfin?**

Jellyfin в простое расходует около 250 MB памяти, а диск занимает ваша медиатека; транскодирование видео идет на CPU и сильно его нагружает. На Pethost ему хватит тарифа Starter, и рядом останется место для других приложений.

## Jellyfin: файл Docker Compose

Шаблон — это этот compose.yaml и переменные, которые пишутся в .env проекта при его создании. Pethost запускает файл так, как он написан.

**Контейнеры:** jellyfin (jellyfin/jellyfin:12).

**Тома, в ночном бэкапе:** config, cache, media.

```
services:
  jellyfin:
    image: jellyfin/jellyfin:12
    restart: unless-stopped
    environment:
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new server's startup wizard is open to whoever comes first. So until the wizard is done,
    # Jellyfin runs on port 8097, which nobody reaches: there it is given the administrator from
    # the fields and a library for each folder of /media, and only then answers on 8096.
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        set -e
        config=/config/config
        if ! grep -qs '<IsStartupWizardCompleted>true<' "$$config/system.xml"; then
          mkdir -p "$$config" /media/movies /media/shows /media/music
          if [ -f "$$config/network.xml" ]; then
            sed -i 's|<InternalHttpPort>[0-9]*<|<InternalHttpPort>8097<|' "$$config/network.xml"
          else
            printf '<?xml version="1.0" encoding="utf-8"?>\n<NetworkConfiguration>\n  <InternalHttpPort>8097</InternalHttpPort>\n</NetworkConfiguration>\n' > "$$config/network.xml"
          fi
          /jellyfin/jellyfin &
          setup=$$!
          api() { curl -fsS -H 'Content-Type: application/json' "$$@"; }
          # 401: an administrator with a password exists already, from a first start cut short,
          # and Jellyfin has marked its wizard done by itself.
          until wizard=$$(curl -sS -o /dev/null -w '%{http_code}' http://127.0.0.1:8097/Startup/Configuration) &&
            { [ "$$wizard" = 200 ] || [ "$$wizard" = 401 ]; }; do sleep 2; done
          if [ "$$wizard" = 200 ]; then
            api -d '{"ServerName":"Jellyfin","UICulture":"en-US","MetadataCountryCode":"US","PreferredMetadataLanguage":"en"}' http://127.0.0.1:8097/Startup/Configuration
            library() {
              api http://127.0.0.1:8097/Library/VirtualFolders | grep -q "\"Name\":\"$$1\"" ||
                api -d '{"LibraryOptions":{"EnableRealtimeMonitor":true}}' "http://127.0.0.1:8097/Library/VirtualFolders?name=$$1&collectionType=$$2&paths=/media/$$3"
            }
            library Movies movies movies
            library Shows tvshows shows
            library Music music music
            api -o /dev/null http://127.0.0.1:8097/Startup/User
            json() { printf '%s' "$$1" | sed 's/\\/\\\\/g; s/"/\\"/g'; }
            api -d "{\"Name\":\"$$(json "$$ADMIN_USERNAME")\",\"Password\":\"$$(json "$$ADMIN_PASSWORD")\"}" http://127.0.0.1:8097/Startup/User
            api -d '{"EnableRemoteAccess":true,"EnableAutomaticPortMapping":false}' http://127.0.0.1:8097/Startup/RemoteAccess
            api -X POST http://127.0.0.1:8097/Startup/Complete
          fi
          kill $$setup
          wait $$setup || true
          sed -i 's|<InternalHttpPort>8097<|<InternalHttpPort>8096<|' "$$config/network.xml"
        fi
        exec /jellyfin/jellyfin
    volumes:
      - config:/config
      - cache:/cache
      # Writable, so that films, shows and music can be copied in over SFTP.
      - media:/media

volumes:
  config:
  cache:
  media:
```

[compose.yaml](https://pethost.dev/templates/jellyfin/compose.yaml)[Открыть на GitHub](https://github.com/pethost-dev/templates/tree/main/jellyfin)

## [Еще в категории «Медиа»](https://pethost.dev/ru/templates/media/)

- [**Owncast**Прямые трансляции и чат на собственной странице](https://pethost.dev/ru/templates/owncast/)
- [**Navidrome**Музыкальный сервер, который стримит вашу собственную коллекцию](https://pethost.dev/ru/templates/navidrome/)
- [**RomM**Библиотека и плеер в браузере для ваших ретро-игр](https://pethost.dev/ru/templates/romm/)
- [**Komga**Сервер и веб-читалка для ваших комиксов, манги и электронных книг](https://pethost.dev/ru/templates/komga/)
- [**Lychee**Фотогалерея, чтобы загружать, упорядочивать и показывать ваши фото](https://pethost.dev/ru/templates/lychee/)
- [**Audiobookshelf**Собственный сервер аудиокниг и подкастов: слушайте в браузере или приложениях, прогресс сохраняется на всех устройствах](https://pethost.dev/ru/templates/audiobookshelf/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагин](https://github.com/pethost-dev/plugin)
- [Условия](https://pethost.dev/terms/)
- [Конфиденциальность](https://pethost.dev/privacy/)
- [Возвраты](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Базы данных

- [Postgres](https://pethost.dev/ru/postgres/)

Сравнения

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/ru/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/ru/blog/coolify-cloud-vs-dokploy-cloud/)
- [Цены Railway, Render и Fly.io](https://pethost.dev/ru/blog/railway-vs-render-vs-fly-io-pricing/)
- [Управляемый хостинг Docker Compose](https://pethost.dev/ru/blog/managed-docker-compose-hosting/)

Альтернативы

- [Альтернативы Railway](https://pethost.dev/ru/blog/railway-alternatives/)
- [Альтернативы Heroku](https://pethost.dev/ru/blog/heroku-alternatives/)
- [Альтернативы Dokploy](https://pethost.dev/ru/blog/dokploy-alternatives/)
- [Альтернативы Coolify](https://pethost.dev/ru/blog/coolify-alternatives/)
- [Альтернативы Render](https://pethost.dev/ru/blog/render-alternatives/)
- [Альтернативы Sliplane](https://pethost.dev/ru/blog/sliplane-alternatives/)
