qBittorrent - торрент клиент с web-интерфесом

Published on
5 мин. чтения

qBittorrent — один из лучших торрент-клиентов, известный своей легкостью и многофункциональностью.

Благодаря наличию собственного веб-интерфейса qBittorrent NOX является отличным торрент-клиентом для работы в контейнере Docker.

Мы будем использовать официальный образ контейнера qBitttorrent NOX, поэтому вы всегда будете получать последние версии. Кроме того, у него есть сборки для x86, AMD64 и даже операционных систем на базе ARM, это означает, что он должен работать практически на любом устройстве.

Установка qBittorrent

Для установки будет использоваться виртуальная машина Proxmox со следующим характеристиками:

  • OS: Ubuntu 24.04
  • CPU: 2
  • RAM: 2 Gb
  • Disk: 30 Gb

Обновляем пакеты

apt update && apt upgrade -y

Устанавливаем docker

curl -sSL https://get.docker.com | sh
sudo groupadd docker
sudo usermod -aG docker ${USER}
sudo apt install docker-compose
sudo systemctl enable docker
sudo reboot

Настройка docker-compose.yaml

Создаем файл docker-compose со следующим содержимым

docker-compose.yml
version: "3.9"

services:
  qbittorrent-nox:
    container_name: qbittorrent-nox
    restart:unless-stopped
    environment:
      #- PGID=1000
      #- PUID=1000
      - QBT_EULA=accept
      - QBT_VERSION=latest
      - QBT_WEBUI_PORT=8181
      - TZ=Europe/Moscow
    image: qbittorrentofficial/qbittorrent-nox:latest
    ports:
      - 6881:6881/tcp
      - 6881:6881/udp
      - 8181:8181/tcp
    read_only: true
    stop_grace_period: 30m
    tmpfs:
      - /tmp
    tty: true
    volumes:
      - ./config:/config
      - /mnt/hdd/shared_folder/download:/downloads

Небольшое пояснение того, что делает каждая строка

QBT_EULA: qBittorrent требует, чтобы вы согласились с их EULA, прежде чем вы сможете использовать их клиент. Если вы принимаете эти условия, используйте слово accept.

TZ: Следующее, что вам нужно сделать, это указать часовой пояс для qBittorrent, который будет использоваться при запуске в контейнере. Вы можете найти допустимое значение для этой строки, просмотрев список часовых поясов базы данных tz в Википедии . Пример допустимого значения здесь — Europe/Moscow.

DOWNLOADPATH: Замените это значение на полный путь к месту, куда вы хотите загрузить файлы на вашем устройстве. Например, если мы хотим сохранить файлы в домашнем каталоге нашего пользователя, мы можем использовать что-то вроде /home/user/downloads. Я буду изпользовать для этого жесткий диск, который используется в качестве файловой шары SMB а так же является внешним хранилищем для Nextcloud. Благодаря этому можно будет получить доступ к скачанным файлам как из локальной сети, так и за ее пределами.

QBT_WEBUI_PORT: Порт по которому будет доступен веб-интерфейс, можете задать порт на свое усмотрение, так же необходимо его пробросить в разделе ports

Запускаем контейнер

Теперь, мы можем запустить контейнер qBittorrent с помощью следующей команды в терминале.

Мы не используем здесь опцию -d, поскольку не хотим, чтобы Docker отсоединялся от терминала. Это нужно для того, чтоб получить временный пароль, который qBittorrent генерирует при запуске.

docker compose up

После запуска контейнера qBittorrent в терминале должен появиться следующий текст.

qbittorrent-nox  | Веб-интерфейс скоро запустится после внутренней подготовки. Пожалуйста, подождите…
qbittorrent-nox  | 
qbittorrent-nox  | ******** Информация ********
qbittorrent-nox  | Войдите в веб-интерфейс для управления qBittorrent: http://localhost:8181
qbittorrent-nox  | 
qbittorrent-nox  | Имя администратора веб-интерфейса: admin
qbittorrent-nox  | Пароль администратора веб-интерфейса не был установлен. Для этого сеанса представлен временный пароль: NnvS96u8K
qbittorrent-nox  | Необходимо задать собственный пароль в настройках программы.

Запишите временный пароль, так как он понадобится вам для первого доступа к веб-интерфейсу.

После того как скопировали временный пароль, открываем Web интерфейс по адресу http://YOUR-IP:8181 и вводим имя пользователя по умолчанию admin, а пароль — тот, который был сгенерирован и показан в терминале ранее.

qbittorrent

После первого входа в qBittorrent необходимо установить пароль, в противном случае ваш Docker-контейнер будет генерировать новый пароль при каждом запуске.

Чтобы начать установку пароля, нажмите на значок шестеренки на панели задач. Открыв страницу настроек, вам нужно будет перейти на вкладку Веб-интерфейс. Находясь на вкладке Веб-интерфейс, прокрутите страницу вниз, пока не увидите заголовок Аутентификация, здесь вы можете сменить сразу имя пользователя и пароль. Для применения изменений нажмите кнопку сохранить.

qbittorrent_setting

Если по какой- то причине вы забыли пароль от веб-интерфейса, то откройте config файл в любом текстовом редакторе, например

sudo nano ~/qb/config/qBittorrent/config/qBittorrent.conf

Найдите строку WebUI\Password_PBKDF2 и полностью удалите ее.

Запуск qBittorent в фоновом режиме

Установив пароль для учетной записи администратора, вы можете остановить запуск контейнера в своем терминале. Чтобы остановить контейнер, нажмите CTRL+C при открытом терминале.

Теперь мы можем снова запустить qBittorrent, но на этот раз с помощью опции -d.

docker compose up -d

Обновление Docker-контейнера qBittorrent

Одним из преимуществ запуска qBittorrent через контейнер Docker является то, что обновление программного обеспечения сводится к выполнению нескольких команд.

К концу следующих шагов у вас будет установлена ​​последняя версия.

  1. Чтобы обновить наш Docker-контейнер qBittorrent, нам необходимо перейти в каталог, в который мы записали файл docker-compose.yml

  2. Как только мы окажемся в нужном каталоге, мы можем приказать Docker загрузить последнюю версию контейнера qBittorrent.

docker compose pull
  1. Несмотря на то, что мы загрузили новую версию контейнера, Docker начнет использовать ее только в том случае, если мы дадим ему команду начать работу заново.

При запуске стека Compose Docker обнаружит новую версию контейнера qBittorrent и перейдет к ней.

docker compose up -d

Итог

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

P.S.

Для удобства использования qBittorrent на мобильном устройстве существуют мобильные приложения, например я использую qBittorrent Remote Lite