Этот браузер устарел, для работы с сайтом требуется установить один из актуальных:

Установите один из актуальных: Установить edge | Установить chrome | Установить firefox

qBittorrent на медиа сервере

Недавно я собрал себе новый NAS под управлением TrueNAS scale и решил сделать медиа помойку, но сразу встал вопрос как удобно получать и загружать объемные файлы на хранилище?

Решением стала VM под управлением debian и с установленным пакетом qbittorrent и qbittorrent-nox (для организации web интерфейса), приступим!

Устанавливаем необходимые пакеты:


sudo apt install -f qbittorrent qbittorrent-nox

Добавляем юзера и группу для нашего сервиса:


sudo useradd -mU -s /bin/false qbittorrent

Далее нужно создать сервис systemd для удобного управления и автозапуска:


sudo nano /etc/systemd/system/qbittorrent.service

Текст самого сервиса:


[Unit]
Description=qBittorrent
After=network-online.target

[Service]
Type=forking
User=qbittorrent
Group=qbittorrent
WorkingDirectory=/var/lib/qbittorrent
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8888
Restart=on-failure

[Install]
WantedBy=multi-user.target

После этого перезагружаем скрипты systemd и пробуем запустить сам сервис:


systemctl daemon-reload
systemctl start qbittorrent
systemctl status qbittorrent

Если запуск прошел успешно добавляем в автозапуск: (ВНИМАНИЕ!!! Возможно этот пункт не нужен, дочитайте до конца)


systemctl enable qbittorrent

Поскольку я использую TrueNAS, я не собирался хранить все файлы внутри VM, и решил использовать SMB/CIFS протокол для записи данных непосредственно на NAS. Как автоматически монтировать smb/cifs шары я описал в отдельной статье

Итак, я решил провернуть следующий трюк, отключаем автозагрузку qbittorrent: (если включали пунктом ранее)


systemctl disable qbittorrent

Переходим в редактирование юнита монтирования шары:


sudo nano /etc/systemd/system/mnt-share.mount

И добавляем "Wants=qbittorrent.service" в конец раздела [Unit]:


[Unit]
Description=Share mount
Requires=network-online.target
After=network-online.service
Conflicts=umount.target
Before=umount.target

[Mount]
Type=cifs
What=//192.168.1.2/share
Where=/mnt/share
Options=uid=0,gid=0,file_mode=0777,dir_mode=0777,vers=3.0,credentials=/root/.smbcredentials
TimeoutSec=5

[Install]
WantedBy=multi-user.target

Большое спасибо коллеге Alex, за то что подсказал лучший вариант, до этого я использовал скрипт:


#!/bin/bash

FOLDER="/mnt/share"
MNTD=0

while [ $MNTD -lt 1 ]
do
    if ! [[ $(findmnt -M "$FOLDER") ]]; then
        echo "[$(date)] Media not mounted"
        mount -t cifs -o uid=0,gid=0,file_mode=0777,dir_mode=0777,vers=3.0,credentials=/root/.smbcredentials //192.168.1.2/share
    fi

    if [[ $(findmnt -M "$FOLDER") ]]; then
        echo "[$(date)] Media mouted, starting qbit"
        MNTD=1
        systemctl restart qbittorrent
    fi

    sleep 5
done
назад
вверх