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

13 KiB
Raw Blame History

Установка qBittorrent на OpenMediaVault 8.5.9-1 (Synchrony)

Система: OMV 8.5.9-1 (Synchrony) / Debian 13 Trixie
Дата: октябрь 2026
Два варианта: нативный пакет (apt) — проще, или Docker-контейнер — изолированно


Содержание

  1. Вариант A: Нативная установка (qbittorrent-nox)
  2. Вариант B: Установка через Docker (рекомендуется)
  3. Первый вход и настройка
  4. Интеграция с OMV — shared folders
  5. Безопасность
  6. Обновление
  7. Troubleshooting

Вариант A: Нативная установка (qbittorrent-nox)

Самый простой способ — без Docker. qBittorrent есть в репозиториях Debian 13.

# 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

Теперь правим конфиг:

nano /srv/qbittorrent/config/qBittorrent/qBittorrent.conf

Минимальные настройки:

[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-сервис:

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

Проверка:

systemctl status qbittorrent-nox
journalctl -u qbittorrent-nox -n 20

Веб-интерфейс: http://192.168.1.73:8080
Логин: admin, пароль — смотреть в логе:

journalctl -u qbittorrent-nox | grep -i password

Вариант B: Установка через Docker (рекомендуется)

Изоляция от системы, лёгкое обновление, проброс портов, отсутствие конфликтов зависимостей.

Шаг 1. Установка Docker (если ещё не установлен)

1.1. Установка omv-extras (плагин OMV)

Через веб-интерфейс:

System → Plugins → установить openmediavault-omvextrasorg

Или через CLI (если плагина нет в списке):

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

Или вручную:

# Добавить репозиторий 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):

usermod -aG docker $(whoami)
# выйти и зайти заново

Шаг 2. Структура каталогов

# Основная директория для Docker-стеков
mkdir -p /srv/docker/qbittorrent/{config,downloads,torrents,watch}

Если на OVM есть данные шары (например, /shared/Downloads), можно смонтировать их напрямую:

mkdir -p /srv/docker/qbittorrent/downloads
# Или сделать симлинк:
ln -s /shared/Downloads /srv/docker/qbittorrent/downloads

Шаг 3. Docker Compose файл

mkdir -p /srv/docker/qbittorrent
nano /srv/docker/qbittorrent/docker-compose.yml
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:

id $(whoami)
# uid=1000(admin) gid=100(users)

Шаг 4. Запуск

cd /srv/docker/qbittorrent
docker compose up -d

# Проверка
docker compose ps
docker compose logs -f

Шаг 5. Настройка UFW (если включён)

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. Пароль: генерируется при первом запуске

    Для нативной установки:

    journalctl -u qbittorrent-nox | grep password
    

    Для Docker:

    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 → включить
    1. Services → NFS → Settings → включить

Через Docker (проброс готовой шары):

Если шара уже есть (например, /shared/Downloads):

volumes:
  - ./config:/config
  - /shared/Downloads:/downloads   # проброс существующей шары
  - /shared/Torrents/watch:/watch

Права: убедиться, что PUID/PGID в docker-compose совпадают с владельцем шары.

ls -la /shared/Downloads
# Если владелец nobody:nogroup — ставь PUID=65534, PGID=65534

Безопасность

1. Сменить пароль по умолчанию

После первого входа: Tools → Options → Web UI → Current password / New password

2. Отключить удалённый доступ (если не нужен)

Закрыть порт 8080 на интерфейсе WAN (через роутер или UFW):

ufw deny 8080
ufw allow from 192.168.1.0/24 to any port 8080  # только локальная сеть

3. Reverse proxy с HTTPS (рекомендуется)

Через Nginx Proxy Manager:

# в 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-контейнер:

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

Обновление

Нативная установка

apt update && apt upgrade -y qbittorrent-nox
systemctl restart qbittorrent-nox

Docker

cd /srv/docker/qbittorrent
docker compose pull
docker compose up -d
# Старый образ останется — удалить:
docker image prune -f

Troubleshooting

qBittorrent не запускается

# Нативная установка
journalctl -u qbittorrent-nox -n 50

# Docker
docker logs qbittorrent --tail 50

Нет доступа к веб-интерфейсу

# Проверить, слушается ли порт
ss -tlnp | grep 8080

# Если слушается только на 127.0.0.1 — проверить:
# WebUI\Address=0.0.0.0 в qBittorrent.conf

Не скачиваются торренты — нет DHT

Проверить, открыт ли порт 6881:

# С хоста
curl -s https://www.yougetsignal.com/tools/open-ports/ | grep 6881
# Или
nc -zv 192.168.1.73 6881

Возможно, порт закрыт роутером — пробросить порт 6881 (TCP+UDP) на OMV.

Docker не стартует после перезагрузки

systemctl enable docker

Контейнер restart'ится в цикле

docker logs qbittorrent | tail -30
# Типичная причина: несовпадение PUID/PGID с правами на /config
# Исправить: chown -R 1000:100 /srv/docker/qbittorrent/config

Неверный пароль при первом входе

Удалить конфиг и запустить заново:

# Docker
rm -rf /srv/docker/qbittorrent/config
docker compose down && docker compose up -d

# Нативная
rm -rf /srv/qbittorrent/config
systemctl restart qbittorrent-nox

Ссылки