Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Медиа и стриминг

qBittorrent

Торрент-клиент с веб-интерфейсом, который ставят на сервер вместо домашнего компьютера. Развернули версию 5.2.3 на Fatmetal Cloud Server, замерили, сколько он ест и сколько трафика отдает за пять часов раздачи.

Проверено на версии v5.2.3, 28 сентября 2026 ~12 минут чтения Fatmetal Team
Торрент-клиент Лицензия: GPL-2.0+ Статус: запущен у нас, v5.2.3

Вердикт

Подходит
  • вынести закачки с домашнего компьютера, который выключается на ночь
  • раздавать свои большие файлы: дистрибутивы, образы, датасеты
  • тем, кому нужен браузер вместо консоли
Не подходит
  • под терабайты на приватных трекерах: профильный сидбокс дешевле
  • если нужен готовый каталог контента - клиент его не дает
  • когда некому следить за диском: он кончится первым
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU2-RAM4-DISK50 Сложность: easy Время запуска: ~2 минуты от чистой машины Главный риск: apt дает 4.6.3 вместо 5.2.3 Прод-готовность: с оговорками (прокси + TLS)
Что это

Что это и какую задачу решает

qBittorrent известен как программа с окном: список закачек, проценты, скорости. Проект идет с 2012 года и на GitHub собрал 40 тысяч звезд.

На сервере работает другая его сборка - qbittorrent-nox, то есть "no X", без графики. Тот же движок, но управляется через браузер.

Зачем выносить закачки на сервер: дома узкий исходящий канал, компьютер выключается на ночь, а раздавать надо круглосуточно. Сервер это решает.

Отличие от соседей по нише в одном: веб-интерфейс qBittorrent почти повторяет настольный. У Transmission он сознательно урезан, у rTorrent интерфейс вообще чужой и ставится отдельно.

C++ / Qt 6libtorrent 2.0.15DockerВеб-интерфейс
Главный экран qBittorrent 5.2.3: два торрента на раздаче, панель свойств с накопленной отдачей
Главный экран, v5.2.3 на тарифе CPU2-RAM4-DISK50. Внизу видно: работает 5 ч 31 м, отдано 417.3 МБ
Сравнение

Чем отличается от платного сидбокса

Главный платный конкурент здесь не программа, а услуга: готовый торрент-клиент на чужом канале.

ПараметрСвой сервер с qBittorrentСидбокс (Whatbox)
Модель ценысофт бесплатен, платите за серверподписка от 15 долларов в месяц
Что продаетсяпроцессор, память, дискдиск и лимит исходящего трафика
Объем на входе50 ГБ в тарифе CPU2-RAM4-DISK503.9 ТБ за 15 долларов
Исходящий трафикобщая полоса сервера10 ТБ в тарифе
Что еще можнолюбые другие сервисы рядомтолько торренты
Доступ к машинеполный rootаккаунт в общей системе

Цифры сидбокса взяты с тарифной страницы Whatbox 28.09.2026. Самое полезное в этой таблице - строка про исходящий трафик: она показывает, что в торрентах тратится полоса, а не процессор.

i

Вывод не в нашу пользу. Если задача - держать терабайты на приватном трекере, профильный сидбокс дешевле. Свой сервер выигрывает, когда объемы измеряются десятками гигабайт, а рядом крутится что-то еще.

Под капотом

Тех-стек и архитектура

Один процесс и больше ничего. Ни базы данных, ни очереди, ни кэша - редкость для современного self-hosted.

Движок обмена кусками - библиотека libtorrent-rasterbar, интерфейс на Qt 6. Веб-интерфейс встроенный, отдельного сервера не требует.

Собственного образа апстрим не выпускает: в репозитории нет ни Dockerfile, ни compose-файла. Официальный путь - сборка из исходников через CMake, и она тянет на сервер Qt 6.6, Boost и OpenSSL.

Поэтому на практике берут сторонний образ от linuxserver.io: 336 МБ, обновляется в день выхода релиза. У него два варианта - с libtorrent второй ветки и с первой. Мы брали вторую, она свежее.

Конфигурация

Минимальная конфигурация

Требований к железу апстрим не публикует вообще. Цифры ниже - наш замер.

Официальный минимум RAMне заявлен
Реально в раздаче31 МиБ
Пик на скачивании48 МиБ
Процессор в раздаче0.63% одного ядра
Пик процессора147% - полтора ядра
Рекомендуем тарифCPU2-RAM4-DISK50
Тариф FatmetalCPU2-RAM4-DISK50 - 500 ₽/мес
i

Два ядра нужны по-настоящему. Памяти хватило бы и 512 МБ, но на приеме 85 Мбит/с клиент забирает полтора ядра на проверку хэшей. Одноядерная машина будет упираться именно там, а не в память.

!

Диск кончится первым. 50 ГБ в тарифе - это пара дистрибутивов. Под библиотеку берите отдельный диск и монтируйте его под каталог загрузок: так платите за место, а не за лишние ядра тарифа CPU6-RAM16-DISK100.

Развертывание

Развертывание на Fatmetal

Сначала - почему привычный путь через пакет не годится. Это главное, что стоит знать до установки.

Практически все инструкции в сети начинаются одинаково: поставьте пакет, при необходимости добавьте официальный PPA. На Ubuntu 24.04 LTS это больше не работает.

Вот что отдает пакетный менеджер на свежей машине - команда выполнена на нашем стенде, без установки:

$ apt-cache policy qbittorrent-nox
qbittorrent-nox:
  Installed: (none)
  Candidate: 4.6.3-1build2

Актуальная стабильная версия - 5.2.3. То есть штатный пакет отстает на два мажорных релиза.

Официальный PPA проекта эту дыру не закрывает. Для Ubuntu 24.04 там опубликована ровно одна сборка - 4.6.7 от 28 апреля 2025 года, и с тех пор ничего. Во втором, нестабильном PPA сборок под эту систему нет вовсе.

СпособЧто получите на Ubuntu 24.04 LTS
apt из репозитория4.6.3
официальный PPA4.6.7, сборка от апреля 2025
сборка из исходников5.2.3, но тянет Qt 6.6 и Boost на сервер
образ linuxserver.io5.2.3, обновляется в день релиза

Остается образ. Дальше - как это выглядит по шагам.

  1. Создать сервер

    Тариф CPU2-RAM4-DISK50, Ubuntu 24.04 LTS. Docker в образе не предустановлен.

  2. Поставить Docker

    По официальному репозиторию docker.com. У нас заняло 88 секунд.

  3. Написать compose-файл

    services:
      qbittorrent:
        image: ghcr.io/linuxserver/qbittorrent:5.2.3_v2.0.15-ls478
        container_name: qbittorrent
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/Moscow
          - WEBUI_PORT=8080
          - TORRENTING_PORT=6881
        volumes:
          - /opt/qbittorrent/config:/config
          - /opt/qbittorrent/downloads:/downloads
        ports:
          - "127.0.0.1:8080:8080"
          - "6881:6881"
          - "6881:6881/udp"
        restart: unless-stopped

    Версия образа указана целиком, а не тегом latest: иначе через месяц у вас будет не то, что описано здесь.

  4. Поднять

    docker compose up -d

    12 секунд на запуск, еще около 20 до первого ответа веб-интерфейса.

  5. Забрать временный пароль из журнала

    docker compose logs qbittorrent | grep "temporary password"

    Без этого шага вы не войдете. Подробности - в разделе про грабли, это самая частая проблема.

i

Про адрес образа. Документация linuxserver везде печатает lscr.io. У нас он не сработал, и мы поставили в compose ghcr.io - это первоисточник, а не зеркало. Почему так - ниже.

!

Веб-интерфейс слушает только localhost. В compose выше проброс идет на 127.0.0.1 намеренно. Наружу его выставляют через обратный прокси с TLS, а не голым портом: открытый торрент-клиент в интернете находят за часы.

Журнал работы qBittorrent: старт версии 5.2.3, DHT и PeX включены, прослушивание порта 6881
Журнал первого старта: DHT, PeX и LSD включены, порт 6881 слушается, внешний адрес определен
Замеры

Что измерили после запуска

Стенд: CPU2-RAM4-DISK50, Ubuntu 24.04.4, Docker 29.8.1, qBittorrent 5.2.3, 28 сентября 2026.

Установка Docker88 с
Скачивание образа19 с
Старт контейнера12 с
До ответа интерфейса~20 с
Итого от чистой машины~2 минуты
Образ на диске336 МБ
Каталог настроек8.7 МБ
Отклик интерфейса1.3 мс

Память: почему популярный совет "берите 2 ГБ" неверен

После того как клиент скачал 7 ГБ, docker stats показывал 1.82 ГиБ. Отсюда и растут советы про прожорливость.

Разбор счетчиков ядра говорит другое. Настоящая память процесса - 31 МиБ, остальное оказалось страничным кэшем только что записанных файлов, который система отдаст по первому требованию.

Показывает docker stats1.82 ГиБ
Настоящая память (anon)31 МиБ
Кэш файлов3151 МиБ
После сброса кэша17.96 МиБ

Разница в шестьдесят раз. За пять с половиной часов работы цифра 31 МиБ не сдвинулась - утечки нет.

Сколько стоит раздача

Это главный вопрос про торрент-клиент на сервере, и ответ у него неочевидный. Мы держали в раздаче 7 ГБ - два официальных образа Debian и Ubuntu - и смотрели счетчики.

В первые минуты после скачивания отдача была ровно нулевой. У образа Debian было 89 раздающих, и наша копия никому не требовалась.

Через пять с половиной часов картина стала другой: раздающие разошлись, а желающие скачать остались.

В раздаче7.0 ГБ, два торрента
Время наблюдения5 ч 25 м
Отдано всего417.8 МБ
Средняя полоса отдачи0.18 Мбит/с
В пересчете на сутки1.8 ГБ
В пересчете на месяц~54 ГБ
Статистика сессии qBittorrent: принято и отдано за время работы
Статистика сессии: тот же счетчик изнутри интерфейса
i

Главное про полосу. Отдачу определяет не программа, а спрос на вашу копию. Популярный дистрибутив с сотней раздающих у вас почти не спросят. Редкий файл, где вы один из трех, выберет канал целиком - и наш замер этого случая не показывает.

Вкладка Пиры в qBittorrent: список участников раздачи с флагами стран и клиентами
Кому уходит раздача: страны, клиенты, протоколы. Адреса участников закрыты намеренно

Проверено на версии v5.2.3, сентябрь 2026. На новых версиях результаты могут отличаться.

Подводные камни

Где может сломаться

Четыре грабли, на которые мы наступили. Первая встречается почти всем.

Пароля admin/adminadmin больше нет

Старые инструкции советуют войти как admin с паролем adminadmin. С версии 4.6.1 этой пары не существует.

Вместо нее при старте в журнал печатается случайный пароль на текущую сессию:

The WebUI administrator username is: admin
The WebUI administrator password was not set.
A temporary password is provided for this session: NEVeZGTfE

И вторая половина ловушки, о которой не пишут даже там, где знают про первую: пока вы не зададите свой пароль, при каждом перезапуске генерируется новый. Мы проверили - после перезапуска контейнера пароль сменился на другой.

!

Что делать. Войти временным паролем и сразу задать свой в настройках веб-интерфейса. После этого строка про временный пароль в журнале больше не появляется.

i

Где искать пароль. В журнале самого qBittorrent его нет - эту строку печатает скрипт запуска образа. Видна она только через docker logs. Человек, который ищет пароль в веб-интерфейсе, не найдет его никогда.

Реестр образов рвет скачивание

failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://lscr.io/v2/linuxserver/qbittorrent/blobs/sha256:...": net/http: timeout awaiting response headers

Причина. Отвалился конкретный источник, а не сеть. Адрес lscr.io - зеркало, и оно может не отвечать, когда первоисточник работает.

Решение. Не повторять попытки, а сменить реестр. Тот же образ с ghcr.io скачался за 19 секунд, с Docker Hub - за 2. Содержимое одинаковое, отпечаток слоев совпадает.

Порт меняется в двух местах сразу

Если менять порт веб-интерфейса, править надо и проброс, и переменную WEBUI_PORT. Поправите только проброс - защита от межсайтовых запросов отрежет доступ, и это выглядит как поломка продукта.

Почта уходит с паролем открытым текстом

У клиента есть уведомления о завершении загрузки. Письмо дошло, но в его заголовке видно, что вход на почтовый сервер прошел без шифрования.

Причина в версии: в 5.2.3 единственный переключатель шифрования - устаревший режим на отдельном порту, а привычный STARTTLS клиент не поднимает. В журнале изменений ветки 5.3 это уже помечено как исправленная ошибка.

Настройки уведомлений по электронной почте в qBittorrent 5.2.3
Уведомления по почте: шифрование тут только в устаревшем режиме
!

Практический вывод. Настраивая почту в 5.2.3, не используйте пароль, который жалко. Заведите отдельный почтовый ящик только под уведомления.

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

Безопасность и обновления

Свой TLS клиент выпускать не умеет. В настройках есть переключатель HTTPS, но сертификат и ключ вы приносите готовыми - автоматического продления нет.

Поэтому рабочая схема одна: веб-интерфейс на localhost, снаружи - обратный прокси с сертификатом. На эту же схему ссылается и документация самого проекта.

С версии 5.2.0 у программного интерфейса появился вход по ключу вместо пароля - удобно для скриптов, ключ можно отозвать и выпустить заново.

Настройки веб-интерфейса qBittorrent: смена пароля, HTTPS со своим сертификатом, раздел ключа API
Настройки веб-интерфейса: смена пароля, HTTPS со своим сертификатом и ключ API - новинка версии 5.2.0

Обновление сводится к двум командам, но тег в compose придется поднять руками - в этом и смысл закрепленной версии:

docker compose pull
docker compose up -d

Бэкапить надо каталог настроек - он маленький, 8.7 МБ, и в нем лежат сами торренты и данные докачки:

tar czf qb-config.tar.gz /opt/qbittorrent/config
Настройки BitTorrent в qBittorrent: пороги раздачи и лимиты рейтинга
Пороги раздачи: тут задают, когда клиент сам остановит отдачу

Что закрыть перед боем: свой пароль вместо временного, обратный прокси с TLS, порт 8080 не наружу, порт раздачи 6881 открыт, лимит отдачи выставлен, каталог настроек в бэкапе.

Настройки скорости qBittorrent: лимиты отдачи и планировщик по расписанию
Лимиты отдачи и расписание: здесь раздачу прижимают, чтобы она не съедала канал днем
Рядом

Связь с другими стеками

  • Обратный прокси - Caddy или Nginx Proxy Manager, единственный рабочий способ выставить интерфейс наружу с TLS.
  • Медиасервер - Jellyfin на том же сервере покажет то, что скачано, без переноса файлов.
  • Дополнительный диск - монтируется под каталог загрузок. Объектное хранилище тут не подходит: клиент пишет файл кусками вразнобой, а такой доступ объектное хранилище не дает.
  • Мониторинг - любой сборщик метрик по программному интерфейсу клиента, с версии 5.2.0 вход по ключу.
Ограничения

Когда это НЕ ваш выбор

Вам нужны терабайты

Профильный сидбокс дает 3.9 ТБ за 15 долларов в месяц. Набрать столько же дисками на облачном сервере выйдет заметно дороже.

Вы ждете готовый каталог

Это клиент, а не библиотека. Что скачивать, он не подсказывает, встроенный поиск работает по сторонним плагинам и сам по себе ничего не гарантирует.

Нужна коммерческая поддержка

Проект делают волонтеры, купить договор с гарантией ответа не у кого. Есть форум, багтрекер и вики.

Хватает настольной версии

Если компьютер и так работает круглосуточно, а канал широкий, сервер ничего не добавит. Выносить закачки стоит ради круглосуточности, а не ради самого факта.

FAQ

Частые вопросы

Можно поставить без Docker?

Можно, но на Ubuntu 24.04 LTS пакет даст 4.6.3, а официальный PPA - 4.6.7 от апреля 2025. Свежую версию без контейнера получите только сборкой из исходников.

Хватит ли 1 ГБ памяти?

Памяти хватит с запасом: в раздаче клиент занимает 31 МиБ. Но одного ядра мало - на активном скачивании он забирает полтора.

Почему не пускает под admin/adminadmin?

Этой пары нет с версии 4.6.1. Временный пароль печатается в журнал контейнера при каждом старте, пока вы не зададите свой.

Сколько трафика съест раздача?

У нас 7 ГБ в раздаче отдали 417.8 МБ за 5.5 часа - это около 54 ГБ в месяц. Но цифра зависит от спроса на вашу копию, а не от клиента.

Можно в продакшен?

Да, с обратным прокси и TLS. Сам клиент автоматических сертификатов не умеет, наружу голым портом его выставлять нельзя.

Как обновлять?

Поднять тег образа в compose-файле и выполнить pull с последующим up. Данные лежат в примонтированных каталогах и переживают пересоздание контейнера.

Какие ограничения лицензии?

Исходники под GPL-2.0 и новее, готовая сборка под GPL-3.0 и новее. Коммерческое использование разрешено, платных редакций у проекта нет.

Итог

qBittorrent 5.2.3 на сервере - это 31 МиБ памяти, один контейнер и две минуты от чистой машины до рабочего интерфейса. Главная сложность не в установке, а в том, чтобы получить свежую версию: на Ubuntu 24.04 LTS ни пакет, ни официальный PPA ее не дают, и рабочий путь остается один. Второе, на чем спотыкаются все - пароль, которого нет в интерфейсе. Раздача при этом обходится дешевле, чем принято думать: 54 ГБ в месяц на семь гигабайт библиотеки.

Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи