From 8b94fca1018a7cf8c282f1f3473e045eb34315e6 Mon Sep 17 00:00:00 2001 From: embeddevio Date: Fri, 2 Oct 2026 22:01:10 +0300 Subject: [PATCH] vault backup: 2026-10-02 22:01:10 --- .obsidian/workspace.json | 8 +- HomeLab/omv-qbittorrent-guide.md | 471 +++++++++++++++++++++++++++++++ 2 files changed, 475 insertions(+), 4 deletions(-) create mode 100644 HomeLab/omv-qbittorrent-guide.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index f7c811b..16c8ad1 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "HomeLab/! Services.md", + "file": "HomeLab/omv-qbittorrent-guide.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "! Services" + "title": "omv-qbittorrent-guide" } } ] @@ -190,8 +190,9 @@ }, "active": "26f4162438aca424", "lastOpenFiles": [ - "HomeLab/Proxmox/Gitea.md", "HomeLab/! Services.md", + "HomeLab/omv-qbittorrent-guide.md", + "HomeLab/Proxmox/Gitea.md", "HomeLab AI Analisys.md", "! Tasks - planned action.md", "HomeLab/Hermes/hermes-desktop-connect-guide.md", @@ -220,7 +221,6 @@ "HomeLab/Amnezia for Keenetic.md", "Linux/CLI/СLI FileSystem.md", "Linux/CLI/СLI Kernel and System.md", - "Linux/CLI/СLI Hardware (i2c,uart,gpio).md", "Pasted image 20260517222623.png", "VPN/XRAY VLESS Guide.pdf", "VPN", diff --git a/HomeLab/omv-qbittorrent-guide.md b/HomeLab/omv-qbittorrent-guide.md new file mode 100644 index 0000000..691c67f --- /dev/null +++ b/HomeLab/omv-qbittorrent-guide.md @@ -0,0 +1,471 @@ +# Установка 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 ) + - 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** → включить + +**Через 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) \ No newline at end of file