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

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Медіа](https://pethost.dev/uk/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 — з ключем доступу, через 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?**

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 не виконує для нього тональне відображення (tone mapping) у реальному часі. Файли, які ваші пристрої відтворюють як є, транскодування не потребують узагалі.

**Скільки пам’яті й диска потрібно 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/uk/templates/media/)

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

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/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/uk/postgres/)

Порівняння

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

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

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