Files
wikipedia/OMV - Guides/omv-qbittorrent-guide.md
T

472 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Установка qBittorrent на OpenMediaVault 8.5.9-1 (Synchrony)
> **Система:** OMV 8.5.9-1 (Synchrony) / Debian 13 Trixie
> **Дата:** октябрь 2026
> **Два варианта:** нативный пакет (apt) — проще, или Docker-контейнер — изолированно
---
## Содержание
1. [Вариант A: Нативная установка (qbittorrent-nox)](#вариант-a-нативная-установка-qbittorrent-nox)
2. [Вариант B: Установка через Docker (рекомендуется)](#вариант-b-установка-через-docker-рекомендуется)
3. [Первый вход и настройка](#первый-вход-и-настройка)
4. [Интеграция с OMV — shared folders](#интеграция-с-omv--shared-folders)
5. [Безопасность](#безопасность)
6. [Обновление](#обновление)
7. [Troubleshooting](#troubleshooting)
---
## Вариант A: Нативная установка (qbittorrent-nox)
Самый простой способ — без Docker. qBittorrent есть в репозиториях Debian 13.
```bash
# 1. Установка
apt update
apt install -y qbittorrent-nox
# 2. Создаём пользователя (не запускать от root!)
adduser --system --group --home /var/lib/qbittorrent qbittorrent
# 3. Структура каталогов
mkdir -p /srv/qbittorrent/{config,downloads,torrents}
chown -R qbittorrent:qbittorrent /srv/qbittorrent
# 4. Первый запуск — создаст конфиг
su -s /bin/bash qbittorrent -c 'qbittorrent-nox --profile=/srv/qbittorrent/config' &
sleep 5
pkill qbittorrent-nox
```
Теперь правим конфиг:
```bash
nano /srv/qbittorrent/config/qBittorrent/qBittorrent.conf
```
Минимальные настройки:
```ini
[LegalNotice]
Accepted=true
[Preferences]
Connection\PortRangeMin=6881
Connection\DHTEnabled=true
Connection\PeXEnabled=true
Connection\UPnPEnabled=false
Connection\ListenPort=6881
[BitTorrent]
Session\DefaultSavePath=/srv/qbittorrent/downloads
Session\TempPath=/srv/qbittorrent/torrents
Session\TempPathEnabled=true
Session\Port=6881
[WebUI]
WebUI\Port=8080
WebUI\Address=0.0.0.0
WebUI\UseUPnP=false
WebUI\Server\Enabled=true
WebUI\Server\Host=0.0.0.0
WebUI\Server\Port=8080
WebUI\CSRFProtection=true
WebUI\ClickjackingProtection=true
WebUI\HostHeaderValidation=false
```
**Systemd-сервис:**
```bash
cat > /etc/systemd/system/qbittorrent-nox.service << 'SERVICE'
[Unit]
Description=qBittorrent-nox (headless)
After=network.target
[Service]
Type=simple
User=qbittorrent
Group=qbittorrent
ExecStart=/usr/bin/qbittorrent-nox --profile=/srv/qbittorrent/config
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
SERVICE
systemctl daemon-reload
systemctl enable --now qbittorrent-nox
```
Проверка:
```bash
systemctl status qbittorrent-nox
journalctl -u qbittorrent-nox -n 20
```
Веб-интерфейс: `http://192.168.1.73:8080`
Логин: `admin`, пароль — смотреть в логе:
```bash
journalctl -u qbittorrent-nox | grep -i password
```
---
## Вариант B: Установка через Docker (рекомендуется)
Изоляция от системы, лёгкое обновление, проброс портов, отсутствие конфликтов зависимостей.
### Шаг 1. Установка Docker (если ещё не установлен)
**1.1. Установка omv-extras (плагин OMV)**
Через веб-интерфейс:
> **System → Plugins** → установить `openmediavault-omvextrasorg`
Или через CLI (если плагина нет в списке):
```bash
wget -4 -q --timeout=30 -O /tmp/omvextras.deb \
'https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/openmediavault-omvextrasorg_latest_all8.deb'
dpkg -i /tmp/omvextras.deb
apt-get install -f -y
```
**1.2. Установка Docker CE**
Через веб: **System → omv-extras → Docker CE → Save → Apply**
Или вручную:
```bash
# Добавить репозиторий Docker
apt update && apt install -y ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable" \
> /etc/apt/sources.list.d/docker.list
apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
```
**1.3. Добавить пользователя OMV (admin) в группу docker** (чтобы не писать sudo):
```bash
usermod -aG docker $(whoami)
# выйти и зайти заново
```
### Шаг 2. Структура каталогов
```bash
# Основная директория для Docker-стеков
mkdir -p /srv/docker/qbittorrent/{config,downloads,torrents,watch}
```
Если на OVM есть данные шары (например, `/shared/Downloads`), можно смонтировать их напрямую:
```bash
mkdir -p /srv/docker/qbittorrent/downloads
# Или сделать симлинк:
ln -s /shared/Downloads /srv/docker/qbittorrent/downloads
```
### Шаг 3. Docker Compose файл
```bash
mkdir -p /srv/docker/qbittorrent
nano /srv/docker/qbittorrent/docker-compose.yml
```
```yaml
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
ports:
- "8080:8080" # Веб-интерфейс
- "6881:6881" # Торрент-трафик (TCP)
- "6881:6881/udp" # Торрент-трафик (UDP/DHT)
environment:
- PUID=1000 # ID пользователя OMV (id <username>)
- PGID=100 # Группа users
- TZ=Europe/Moscow
- WEBUI_PORT=8080
- UMASK=002 # Права для скачанных файлов: 775
volumes:
- ./config:/config
- ./downloads:/downloads
- ./watch:/watch # Папка для .torrent-файлов (опционально)
```
**Важно:** `PUID`/`PGID` должны совпадать с владельцем папки downloads.
Узнать свои ID:
```bash
id $(whoami)
# uid=1000(admin) gid=100(users)
```
### Шаг 4. Запуск
```bash
cd /srv/docker/qbittorrent
docker compose up -d
# Проверка
docker compose ps
docker compose logs -f
```
### Шаг 5. Настройка UFW (если включён)
```bash
ufw allow 8080/tcp comment 'qBittorrent Web UI'
ufw allow 6881/tcp comment 'qBittorrent Torrent TCP'
ufw allow 6881/udp comment 'qBittorrent Torrent UDP'
```
---
## Первый вход и настройка
1. Открыть в браузере: `http://192.168.1.73:8080`
2. **Логин:** `admin`
3. **Пароль:** генерируется при первом запуске
**Для нативной установки:**
```bash
journalctl -u qbittorrent-nox | grep password
```
**Для Docker:**
```bash
docker logs qbittorrent | grep password
```
Пример вывода:
```
**********
* qBittorrent *
* A qBittorrent Web UI password has been set: "xxxXxXxXxX" *
**********
```
4. Сразу сменить пароль: **Tools → Options → Web UI → Authentication**
5. Настроить пути загрузки: **Options → Downloads**
- Save files to: `/downloads`
- Copy .torrent files to: `/watch` (если используете watch-папку)
6. **Опционально:** включить OpenTrackers подписку:
**Tools → Options → BitTorrent → Automatic Torrent Management**
Добавить: `https://github.com/ngosang/trackerslist/raw/master/trackers_best.txt`
---
## Интеграция с OMV — shared folders
Чтобы скачанные файлы были доступны по SMB/NFS:
**Через веб OMV:**
1. **Storage → Shared Folders** → создать shared folder `/srv/docker/qbittorrent/downloads` (или `/shared/Downloads`)
2. **Services → SMB/CIFS → Shares** → добавить шару
3. **Services → SMB/CIFS → Settings** → включить
4. 3. **Services → NFS → Settings** → включить
**Через Docker (проброс готовой шары):**
Если шара уже есть (например, `/shared/Downloads`):
```yaml
volumes:
- ./config:/config
- /shared/Downloads:/downloads # проброс существующей шары
- /shared/Torrents/watch:/watch
```
**Права:** убедиться, что `PUID`/`PGID` в docker-compose совпадают с владельцем шары.
```bash
ls -la /shared/Downloads
# Если владелец nobody:nogroup — ставь PUID=65534, PGID=65534
```
---
## Безопасность
### 1. Сменить пароль по умолчанию
После первого входа: **Tools → Options → Web UI → Current password / New password**
### 2. Отключить удалённый доступ (если не нужен)
Закрыть порт 8080 на интерфейсе WAN (через роутер или UFW):
```bash
ufw deny 8080
ufw allow from 192.168.1.0/24 to any port 8080 # только локальная сеть
```
### 3. Reverse proxy с HTTPS (рекомендуется)
Через Nginx Proxy Manager:
```yaml
# в docker-compose.yml NPM
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```
В веб-интерфейсе NPM (`http://192.168.1.73:81`):
1. **Proxy Hosts → Add Proxy Host**
2. Domain: `torrent.home.local` (или ваш домен)
3. Forward Host/IP: `qbittorrent` (имя контейнера) или `192.168.1.73`
4. Forward Port: `8080`
5. **SSL → Request Let's Encrypt** → включить Force SSL
### 4. VPN для торрентов (опционально)
Маршрутизация qBittorrent через VPN-контейнер:
```yaml
services:
gluetun: # VPN-клиент
image: qmcgaw/gluetun:latest
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=your_vpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=...
- WIREGUARD_ADDRESSES=...
- WIREGUARD_DNS=...
ports:
- "6881:6881"
- "6881:6881/udp"
volumes:
- ./gluetun:/gluetun
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
network_mode: "service:gluetun" # трафик через VPN
environment:
- WEBUI_PORT=8080
volumes:
- ./config:/config
- ./downloads:/downloads
```
---
## Обновление
### Нативная установка
```bash
apt update && apt upgrade -y qbittorrent-nox
systemctl restart qbittorrent-nox
```
### Docker
```bash
cd /srv/docker/qbittorrent
docker compose pull
docker compose up -d
# Старый образ останется — удалить:
docker image prune -f
```
---
## Troubleshooting
### qBittorrent не запускается
```bash
# Нативная установка
journalctl -u qbittorrent-nox -n 50
# Docker
docker logs qbittorrent --tail 50
```
### Нет доступа к веб-интерфейсу
```bash
# Проверить, слушается ли порт
ss -tlnp | grep 8080
# Если слушается только на 127.0.0.1 — проверить:
# WebUI\Address=0.0.0.0 в qBittorrent.conf
```
### Не скачиваются торренты — нет DHT
Проверить, открыт ли порт 6881:
```bash
# С хоста
curl -s https://www.yougetsignal.com/tools/open-ports/ | grep 6881
# Или
nc -zv 192.168.1.73 6881
```
Возможно, порт закрыт роутером — пробросить порт 6881 (TCP+UDP) на OMV.
### Docker не стартует после перезагрузки
```bash
systemctl enable docker
```
### Контейнер restart'ится в цикле
```bash
docker logs qbittorrent | tail -30
# Типичная причина: несовпадение PUID/PGID с правами на /config
# Исправить: chown -R 1000:100 /srv/docker/qbittorrent/config
```
### Неверный пароль при первом входе
Удалить конфиг и запустить заново:
```bash
# Docker
rm -rf /srv/docker/qbittorrent/config
docker compose down && docker compose up -d
# Нативная
rm -rf /srv/qbittorrent/config
systemctl restart qbittorrent-nox
```
---
## Ссылки
- [linuxserver/qbittorrent — Docker Hub](https://hub.docker.com/r/linuxserver/qbittorrent)
- [qBittorrent — официальный сайт](https://qbittorrent.org)
- [OpenMediaVault Extras (omv-extras)](https://github.com/OpenMediaVault-Plugin-Developers/packages)
- [OpenTrackers список](https://github.com/ngosang/trackerslist)