qBittorrent
Торрент-клиент с веб-интерфейсом, который ставят на сервер вместо домашнего компьютера. Развернули версию 5.2.3 на Fatmetal Cloud Server, замерили, сколько он ест и сколько трафика отдает за пять часов раздачи.
Вердикт
- вынести закачки с домашнего компьютера, который выключается на ночь
- раздавать свои большие файлы: дистрибутивы, образы, датасеты
- тем, кому нужен браузер вместо консоли
- под терабайты на приватных трекерах: профильный сидбокс дешевле
- если нужен готовый каталог контента - клиент его не дает
- когда некому следить за диском: он кончится первым
Что это и какую задачу решает
qBittorrent известен как программа с окном: список закачек, проценты, скорости. Проект идет с 2012 года и на GitHub собрал 40 тысяч звезд.
На сервере работает другая его сборка - qbittorrent-nox, то есть "no X", без графики. Тот же движок, но управляется через браузер.
Зачем выносить закачки на сервер: дома узкий исходящий канал, компьютер выключается на ночь, а раздавать надо круглосуточно. Сервер это решает.
Отличие от соседей по нише в одном: веб-интерфейс qBittorrent почти повторяет настольный. У Transmission он сознательно урезан, у rTorrent интерфейс вообще чужой и ставится отдельно.
Чем отличается от платного сидбокса
Главный платный конкурент здесь не программа, а услуга: готовый торрент-клиент на чужом канале.
| Параметр | Свой сервер с qBittorrent | Сидбокс (Whatbox) |
|---|---|---|
| Модель цены | софт бесплатен, платите за сервер | подписка от 15 долларов в месяц |
| Что продается | процессор, память, диск | диск и лимит исходящего трафика |
| Объем на входе | 50 ГБ в тарифе CPU2-RAM4-DISK50 | 3.9 ТБ за 15 долларов |
| Исходящий трафик | общая полоса сервера | 10 ТБ в тарифе |
| Что еще можно | любые другие сервисы рядом | только торренты |
| Доступ к машине | полный root | аккаунт в общей системе |
Цифры сидбокса взяты с тарифной страницы Whatbox 28.09.2026. Самое полезное в этой таблице - строка про исходящий трафик: она показывает, что в торрентах тратится полоса, а не процессор.
Вывод не в нашу пользу. Если задача - держать терабайты на приватном трекере, профильный сидбокс дешевле. Свой сервер выигрывает, когда объемы измеряются десятками гигабайт, а рядом крутится что-то еще.
Тех-стек и архитектура
Один процесс и больше ничего. Ни базы данных, ни очереди, ни кэша - редкость для современного 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 |
| Тариф Fatmetal | CPU2-RAM4-DISK50 - 500 ₽/мес |
Два ядра нужны по-настоящему. Памяти хватило бы и 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 |
| официальный PPA | 4.6.7, сборка от апреля 2025 |
| сборка из исходников | 5.2.3, но тянет Qt 6.6 и Boost на сервер |
| образ linuxserver.io | 5.2.3, обновляется в день релиза |
Остается образ. Дальше - как это выглядит по шагам.
Создать сервер
Тариф CPU2-RAM4-DISK50, Ubuntu 24.04 LTS. Docker в образе не предустановлен.
Поставить Docker
По официальному репозиторию docker.com. У нас заняло 88 секунд.
Написать 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: иначе через месяц у вас будет не то, что описано здесь.Поднять
docker compose up -d12 секунд на запуск, еще около 20 до первого ответа веб-интерфейса.
Забрать временный пароль из журнала
docker compose logs qbittorrent | grep "temporary password"Без этого шага вы не войдете. Подробности - в разделе про грабли, это самая частая проблема.
Про адрес образа. Документация linuxserver везде печатает lscr.io. У нас он не сработал, и мы поставили в compose ghcr.io - это первоисточник, а не зеркало. Почему так - ниже.
Веб-интерфейс слушает только localhost. В compose выше проброс идет на 127.0.0.1 намеренно. Наружу его выставляют через обратный прокси с TLS, а не голым портом: открытый торрент-клиент в интернете находят за часы.
Что измерили после запуска
Стенд: CPU2-RAM4-DISK50, Ubuntu 24.04.4, Docker 29.8.1, qBittorrent 5.2.3, 28 сентября 2026.
| Установка Docker | 88 с |
| Скачивание образа | 19 с |
| Старт контейнера | 12 с |
| До ответа интерфейса | ~20 с |
| Итого от чистой машины | ~2 минуты |
| Образ на диске | 336 МБ |
| Каталог настроек | 8.7 МБ |
| Отклик интерфейса | 1.3 мс |
Память: почему популярный совет "берите 2 ГБ" неверен
После того как клиент скачал 7 ГБ, docker stats показывал 1.82 ГиБ. Отсюда и растут советы про прожорливость.
Разбор счетчиков ядра говорит другое. Настоящая память процесса - 31 МиБ, остальное оказалось страничным кэшем только что записанных файлов, который система отдаст по первому требованию.
| Показывает docker stats | 1.82 ГиБ |
| Настоящая память (anon) | 31 МиБ |
| Кэш файлов | 3151 МиБ |
| После сброса кэша | 17.96 МиБ |
Разница в шестьдесят раз. За пять с половиной часов работы цифра 31 МиБ не сдвинулась - утечки нет.
Сколько стоит раздача
Это главный вопрос про торрент-клиент на сервере, и ответ у него неочевидный. Мы держали в раздаче 7 ГБ - два официальных образа Debian и Ubuntu - и смотрели счетчики.
В первые минуты после скачивания отдача была ровно нулевой. У образа Debian было 89 раздающих, и наша копия никому не требовалась.
Через пять с половиной часов картина стала другой: раздающие разошлись, а желающие скачать остались.
| В раздаче | 7.0 ГБ, два торрента |
| Время наблюдения | 5 ч 25 м |
| Отдано всего | 417.8 МБ |
| Средняя полоса отдачи | 0.18 Мбит/с |
| В пересчете на сутки | 1.8 ГБ |
| В пересчете на месяц | ~54 ГБ |
Главное про полосу. Отдачу определяет не программа, а спрос на вашу копию. Популярный дистрибутив с сотней раздающих у вас почти не спросят. Редкий файл, где вы один из трех, выберет канал целиком - и наш замер этого случая не показывает.
Проверено на версии 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
И вторая половина ловушки, о которой не пишут даже там, где знают про первую: пока вы не зададите свой пароль, при каждом перезапуске генерируется новый. Мы проверили - после перезапуска контейнера пароль сменился на другой.
Что делать. Войти временным паролем и сразу задать свой в настройках веб-интерфейса. После этого строка про временный пароль в журнале больше не появляется.
Где искать пароль. В журнале самого qBittorrent его нет - эту строку печатает скрипт запуска образа. Видна она только через docker logs. Человек, который ищет пароль в веб-интерфейсе, не найдет его никогда.
Реестр образов рвет скачивание
Причина. Отвалился конкретный источник, а не сеть. Адрес lscr.io - зеркало, и оно может не отвечать, когда первоисточник работает.
Решение. Не повторять попытки, а сменить реестр. Тот же образ с ghcr.io скачался за 19 секунд, с Docker Hub - за 2. Содержимое одинаковое, отпечаток слоев совпадает.
Порт меняется в двух местах сразу
Если менять порт веб-интерфейса, править надо и проброс, и переменную WEBUI_PORT. Поправите только проброс - защита от межсайтовых запросов отрежет доступ, и это выглядит как поломка продукта.
Почта уходит с паролем открытым текстом
У клиента есть уведомления о завершении загрузки. Письмо дошло, но в его заголовке видно, что вход на почтовый сервер прошел без шифрования.
Причина в версии: в 5.2.3 единственный переключатель шифрования - устаревший режим на отдельном порту, а привычный STARTTLS клиент не поднимает. В журнале изменений ветки 5.3 это уже помечено как исправленная ошибка.
Практический вывод. Настраивая почту в 5.2.3, не используйте пароль, который жалко. Заведите отдельный почтовый ящик только под уведомления.
Безопасность и обновления
Свой TLS клиент выпускать не умеет. В настройках есть переключатель HTTPS, но сертификат и ключ вы приносите готовыми - автоматического продления нет.
Поэтому рабочая схема одна: веб-интерфейс на localhost, снаружи - обратный прокси с сертификатом. На эту же схему ссылается и документация самого проекта.
С версии 5.2.0 у программного интерфейса появился вход по ключу вместо пароля - удобно для скриптов, ключ можно отозвать и выпустить заново.
Обновление сводится к двум командам, но тег в compose придется поднять руками - в этом и смысл закрепленной версии:
docker compose pull
docker compose up -d
Бэкапить надо каталог настроек - он маленький, 8.7 МБ, и в нем лежат сами торренты и данные докачки:
tar czf qb-config.tar.gz /opt/qbittorrent/config
Что закрыть перед боем: свой пароль вместо временного, обратный прокси с TLS, порт 8080 не наружу, порт раздачи 6881 открыт, лимит отдачи выставлен, каталог настроек в бэкапе.
Связь с другими стеками
- Обратный прокси - Caddy или Nginx Proxy Manager, единственный рабочий способ выставить интерфейс наружу с TLS.
- Медиасервер - Jellyfin на том же сервере покажет то, что скачано, без переноса файлов.
- Дополнительный диск - монтируется под каталог загрузок. Объектное хранилище тут не подходит: клиент пишет файл кусками вразнобой, а такой доступ объектное хранилище не дает.
- Мониторинг - любой сборщик метрик по программному интерфейсу клиента, с версии 5.2.0 вход по ключу.
Когда это НЕ ваш выбор
Вам нужны терабайты
Профильный сидбокс дает 3.9 ТБ за 15 долларов в месяц. Набрать столько же дисками на облачном сервере выйдет заметно дороже.
Вы ждете готовый каталог
Это клиент, а не библиотека. Что скачивать, он не подсказывает, встроенный поиск работает по сторонним плагинам и сам по себе ничего не гарантирует.
Нужна коммерческая поддержка
Проект делают волонтеры, купить договор с гарантией ответа не у кого. Есть форум, багтрекер и вики.
Хватает настольной версии
Если компьютер и так работает круглосуточно, а канал широкий, сервер ничего не добавит. Выносить закачки стоит ради круглосуточности, а не ради самого факта.
Частые вопросы
Можно поставить без 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 ГБ в месяц на семь гигабайт библиотеки.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.