Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Рейтинг: 46.9% · 17 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Хочу поднять полноценный медиасервер: Jellyfin как плеер, Sonarr + Radarr для управления библиотекой, Prowlarr как индексатор, qBittorrent как загрузчик. Всё это на Ubuntu Server 22.04 на мини-ПК Beelink SEi12. Раньше всё ставил руками, теперь хочу сделать нормально через Docker Compose. Где подводные камни и как правильно разложить volumes?
✔ Лучший ответ выбран автором и совпадает с автоматическим подбором — nicky21
Развёрнутый docker-compose.yml под твою задачу (упрощённо, но рабочий). Используй образы от linuxserver.io — они поддерживают PUID/PGID, что решает проблемы с правами. В переменных окружения ставь PUID=1000 и PGID=1000 (id твоего пользователя на хосте). Для Prowlarr не нужны volumes с медиа, только конфиг. Порядок запуска: сначала Prowlarr и qBittorrent, потом Sonarr/Radarr (они должны найти…
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Главная ловушка — пути. Все контейнеры должны видеть медиатеку через одинаковый путь внутри контейнера, иначе Sonarr будет хардлинковать файлы неправильно и займёт двойное место на диске. Стандартная схема: один общий volume /data, внутри которого /data/torrents и /data/media. Монтируй /data целиком во все контейнеры, не отдельные подпапки.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Вот рабочий пример структуры директорий на хосте: /opt/media/data/torrents/tv, /opt/media/data/torrents/movies, /opt/media/data/media/tv, /opt/media/data/media/movies. В docker-compose.yml для каждого сервиса пишешь volumes: - /opt/media/data:/data. В qBittorrent папка загрузки = /data/torrents/movies, в Radarr папка назначения = /data/media/movies. Radarr при импорте делает hardlink внутри одной файловой системы — файл не копируется, только ссылка. Это важно!
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Добавлю про сеть: используй отдельную bridge-сеть для всего стека, например media_net. Тогда контейнеры общаются между собой по именам сервисов (http://sonarr:8989), а не по IP. И никаких лишних портов наружу — только Jellyfin на 8096 и qBittorrent на 8080, остальное внутри сети.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
✔ Лучший ответ — выбран автором и совпадает с авто-подбором
Развёрнутый docker-compose.yml под твою задачу (упрощённо, но рабочий). Используй образы от linuxserver.io — они поддерживают PUID/PGID, что решает проблемы с правами. В переменных окружения ставь PUID=1000 и PGID=1000 (id твоего пользователя на хосте). Для Prowlarr не нужны volumes с медиа, только конфиг. Порядок запуска: сначала Prowlarr и qBittorrent, потом Sonarr/Radarr (они должны найти индексатор), последним Jellyfin. После старта: зайди в Prowlarr, добавь индексаторы, в настройках добавь Sonarr и Radarr как приложения — Prowlarr сам синхронизирует индексаторы. В qBittorrent создай категории movies и tv, пропиши пути загрузки по категориям. В Radarr/Sonarr: Settings -> Download Clients -> добавь qBittorrent, укажи категорию. Для Jellyfin на Beelink SEi12 с Arc GPU пробрасывай /dev/dri: devices: - /dev/dri:/dev/dri — получишь аппаратный транскодинг через Intel QuickSync / VAAPI.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Ещё совет: поставь Watchtower для автообновления образов, но с расписанием (не immediately), чтобы обновления не ломали тебя в 3 ночи. И Portainer для визуального мониторинга стека — удобно с телефона проверить, всё ли живо.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
У меня на похожем стеке была проблема: Jellyfin не видел новые файлы сразу после загрузки. Решилось настройкой inotify-watcher в Jellyfin вместо scheduled scan. В конфиге Jellyfin: enableLibraryMonitor: true. Убедись, что лимит inotify на хосте поднят: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
Стек рабочий, но qBittorrent голым наружу не выставляй даже на 8080 — дефолтные admin/adminadmin до сих пор гуляют по половине интернета. Я в этот же compose добавил gluetun и пустил qBittorrent через network_mode: service:gluetun — весь торрент-трафик уходит в VPN, а Sonarr/Radarr ходят к нему внутри сети стека как раньше. И сразу заведи бэкап папок с конфигами по крону: у *arr вся настройка в sqlite-базах, терять её после полугода тюнинга очень обидно.
Re: Docker Compose стек для медиасервера *arr + Jellyfin с нуля
@svelte88, Bazarr встаёт в тот же compose за десять минут: монтируешь тот же /data, связываешь с Sonarr/Radarr по API-ключу, и он сам подхватывает библиотеку. С русским нюанс: у бесплатного аккаунта OpenSubtitles суточный лимит скачиваний, на большой библиотеке забивается быстро. Сделай языковой профиль ru с fallback на en и добавь второй провайдер — у меня так процентов 80 сериалов закрывается субтитрами автоматом.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Plex окончательно достал, переезжаю на Jellyfin — кто уже сделал, не жалеете?
7 ответов · 3308 просмотров
-
-
- Переехали с Kubernetes на docker-compose и сэкономили кучу времени — кто ещё так делал?
16 ответов · 1287 просмотров
-
- *arr-стек на сидбоксе через gluetun: VPN падает — и весь docker-стек встаёт колом
14 ответов · 1035 просмотров
-
-
- Docker Compose окончательно мёртв? Все тащат в Kubernetes даже для трёх контейнеров
10 ответов · 935 просмотров
Похожие запросы:
docker compose как пользоватьсякак написать dockerfileкак уменьшить размер docker образачто такое docker hub и как им пользоватьсякак собрать docker образ из dockerfiledocker compose up как запустить контейнеры
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость