Эта статья описывает установку и запуск мультимедийных сервисов с помощью Docker Compose. Все контейнеры настроены с учетом локального времени и монтированием нужных директорий.
| Сервис | Назначение |
|---|---|
| Sonarr | Скачивание и организация сериалов |
| Radarr | Аналог Sonarr, но для фильмов |
| Overseerr | Веб-интерфейс для запросов медиа от пользователей |
| Tautulli | Статистика и мониторинг для Plex Media Server |
| Jackett | Агрегатор трекеров для Sonarr/Radarr |
version: '3.8'
services:
sonarr:
image: linuxserver/sonarr
container_name: sonarr
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Moscow
volumes:
- /volume1/docker/sonarr:/config
- /volume1/media/tv:/tv
- /volume1/Downloads:/Downloads
ports:
- 8989:8989
restart: unless-stopped
radarr:
image: linuxserver/radarr
container_name: radarr
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Moscow
volumes:
- /volume1/docker/radarr:/config
- /volume1/media/movie:/movies
- /volume1/Downloads:/Downloads
ports:
- 7878:7878
restart: unless-stopped
overseerr:
image: sctx/overseerr
container_name: overseerr
environment:
- LOG_LEVEL=info
- TZ=Europe/Moscow
volumes:
- /volume1/docker/overseerr:/app/config
ports:
- 5055:5055
restart: unless-stopped
tautulli:
image: linuxserver/tautulli
container_name: tautulli
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Moscow
volumes:
- /volume1/docker/tautulli:/config
- /volume1/PlexMediaServer/AppData/Plex Media Server/Logs:/logs:ro
ports:
- 8181:8181
restart: unless-stopped
jackett:
image: linuxserver/jackett
container_name: jackett
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Moscow
- AUTO_UPDATE=true
volumes:
- /volume1/docker/jackett:/config
ports:
- 9117:9117
restart: unless-stopped
docker-compose.yaml.cd /путь/до/файла
docker compose up -d
Контейнеры будут скачаны и запущены в фоновом режиме.
| Сервис | Порт | URL |
|---|---|---|
| Sonarr | 8989 | http://localhost:8989 |
| Radarr | 7878 | http://localhost:7878 |
| Overseerr | 5055 | http://localhost:5055 |
| Tautulli | 8181 | http://localhost:8181 |
| Jackett | 9117 | http://localhost:9117 |
/volume1/... в соответствии с реальной структурой твоего NAS/сервера.id <имя_пользователя>
/Downloads, /media/tv, /media/movie./docker/<сервис>/config — в них хранятся все настройки.docker compose pull
docker compose up -d
Settings → Media Management → Rename Episodes ✅Settings → Download Clients → +http://localhost:9117/api/v2.0/indexers/<название>/results/torznabProfiles → QualityMinimum Availability → Announced или PreDB, чтобы получать релизы быстрее/volume1/media/movie.env или секретном менеджере[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxx
Address = 10.x.x.x/32
DNS = 10.x.x.x
[Peer]
PublicKey = yyyyyyyyyyyyyyyyyyyyyyy
Endpoint = your.provider.com:51820
AllowedIPs = 0.0.0.0/0
/volume1/docker/gluetun/wireguard/ и положи туда этот файл под именем wg0.conf.version: '3.8'
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
volumes:
- /volume1/docker/gluetun:/gluetun
- /volume1/docker/gluetun/wireguard:/gluetun/wireguard
environment:
- VPN_TYPE=wireguard
- WIREGUARD_INTERFACE=wg0
- TZ=Europe/Moscow
ports:
- 9117:9117 # Прокидываем порт Jackett
restart: unless-stopped
jackett:
image: linuxserver/jackett
container_name: jackett
network_mode: "service:gluetun"
depends_on:
- gluetun
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Moscow
- AUTO_UPDATE=true
volumes:
- /volume1/docker/jackett:/config
restart: unless-stopped
environment:
- DOT=off
- DNS_ADDRESS=1.1.1.1
docker compose up -d
docker logs -f gluetun
INFO wireguard: VPN tunnel is up and running