Сегодня в статье поговорим о том, как установить и настроить совместную работу медиацентра MiniDLNA и клиента сети торрент — qBittorrent на ОС Ubuntu 18.04\20.04\22.04.

Устанавливать и настраивать будем на Ubuntu Server 20.04. Для Debian подобных систем инструкция будет тоже справедлива.

Для того, чтобы клиенты видели DLNA-сервер, они должны находились в одной подсети.

Подготовка системы:

Обновляемся систему до актуального состояния:

sudo apt update && sudo apt dist-upgrade

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

sudo useradd qbittorrent -b /home/ -m -U -s /bin/false  

Задаем пароль для нашего пользователя

sudo passwd qbittorrent

qBittorrent

Установка qBittorrent

Давайте теперь установим наш торрент клиент без GUI интерфейса. На Ubuntu Server 20.04 LTS команда будет выглядеть так:

sudo apt install qbittorrent-nox

Настройка qBittorrent

Настраиваем автостарт демона с помощью systemd

Создаём и открываем файл qbittorrent-nox.service

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

Добавим следующее содержимое:

[Unit]
Description=qBittorrent Command Line Client
After=network.target

[Service]
#Do not change to "simple"
Type=forking
User=qbittorrent
Group=qbittorrent
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure

[Install]
WantedBy=multi-user.target

Перечитываем настройки systemd и запускаем сервис

sudo systemctl daemon-reload
sudo systemctl enabled qbittorrent-nox
sudo systemctl restart qbittorrent-nox.service

Для запуска наберите в терминале:

qbittorrent-nox

Конфигурационный файл qbittorrent-nox

Если необходимо изменить настройки qbittorrent через терминал, то откройте на редактирование фаил настроек, но для начала найдем его расположение:

sudo find / -name qBittorrent.conf

Открываем на редактирование (например)

sudo nano /home/qbittorrent/.config/qBittorrent/qBittorrent.conf

Пример файла настроек

sudo nano /home/qbittorrent/.config/qBittorrent/qBittorrent.conf
[AutoRun]
enabled=false
program=

[BitTorrent]
Session\Port=16850
Session\QueueingSystemEnabled=false

[Core]
AutoDeleteAddedTorrentFile=Never

[Meta]
MigrationVersion=3

[Network]
Proxy\OnlyForTorrents=false

[Preferences]
Advanced\RecheckOnCompletion=false
Advanced\trackerPort=9000
Connection\ResolvePeerCountries=true
DynDNS\DomainName=changeme.dyndns.org
DynDNS\Enabled=false
DynDNS\Password=
DynDNS\Service=DynDNS
DynDNS\Username=
MailNotification\email=
MailNotification\enabled=false
MailNotification\password=
MailNotification\req_auth=true
MailNotification\req_ssl=false
MailNotification\sender=qBittorrent_notification@example.com
MailNotification\smtp_server=smtp.changeme.com
MailNotification\username=
WebUI\Address=*
WebUI\AlternativeUIEnabled=false
WebUI\AuthSubnetWhitelist=192.168.1.0/24 # В данной подсети открыть без ввода логина и пароля
WebUI\AuthSubnetWhitelistEnabled=true
WebUI\BanDuration=3600
WebUI\CSRFProtection=true
WebUI\ClickjackingProtection=true
WebUI\CustomHTTPHeaders=
WebUI\CustomHTTPHeadersEnabled=false
WebUI\HTTPS\CertificatePath=
WebUI\HTTPS\Enabled=false
WebUI\HTTPS\KeyPath=
WebUI\HostHeaderValidation=true
WebUI\LocalHostAuth=false
WebUI\MaxAuthenticationFailCount=5
WebUI\Password_PBKDF2="@ByteArray(8CCxFDkDfnRg37qHrheg==:jNaolhT/xJBp8WAJDt094t1US8lmQ7UtVre9d+5QpPMS95jde/кеxgQaVtqCrTSPjElZmZY1H02YuQRs2cog==)" # Шифрованный пароль для входа
WebUI\Port=8080 # Порт по умолчанию
WebUI\ReverseProxySupportEnabled=false
WebUI\RootFolder=
WebUI\SecureCookie=true
WebUI\ServerDomains=*
WebUI\SessionTimeout=3600
WebUI\TrustedReverseProxiesList=
WebUI\UseUPnP=true
WebUI\Username=admin # Логин для входа

[RSS]
AutoDownloader\DownloadRepacks=true
AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})"

MiniDLNA

Установка MiniDLNA

Давайте теперь установим наш медиацентр minidlna

sudo apt install minidlna

Настройка MiniDLNA

Автостарт сервиса с помощью init.d

Настроим демон minidlna на запуск от нашего пользователя qbittorrent

sudo nano /etc/init.d/minidlna

Находим строчки

USER=minidlna
GROUP=minidlna

Меняем их значение:

USER=qbittorrent
GROUP=qbittorrent

Автостарт с помощью systemd

На сегодня автоматом создается сервис в systemd. Для редактирования открываем следующий файл:

sudo nano /etc/systemd/system/multi-user.target.wants/minidlna.service

Также как и выше меняем User и Group с minidlna на qbittorrent.

[Unit]
Description=MiniDLNA lightweight DLNA/UPnP-AV server
Documentation=man:minidlnad(1) man:minidlna.conf(5)
After=local-fs.target remote-fs.target autofs.service

[Service]
User=qbittorrent
Group=qbittorrent

Environment=CONFIGFILE=/etc/minidlna.conf
Environment=DAEMON_OPTS=-r
EnvironmentFile=-/etc/default/minidlna

RuntimeDirectory=minidlna
LogsDirectory=minidlna
PIDFile=/run/minidlna/minidlna.pid
ExecStart=/usr/sbin/minidlnad -f $CONFIGFILE -P /run/minidlna/minidlna.pid -S $DAEMON_OPTS

[Install]
WantedBy=multi-user.target

Обновляем настройки сервисов

Пересчитываем настройки systemd

sudo systemctl daemon-reload

Меняем группу и владельца директории /var/cache/minidlna

sudo chown -R qbittorrent:qbittorrent /var/cache/minidlna/

Настроем конфигурационный файл minidlna:

sudo cp /etc/minidlna.conf{,.bkp} && sudo nano /etc/minidlna.conf
user=qbittorrent
media_dir=P,/home/qbittorrent/pictures
media_dir=V,/home/qbittorrent/video 
media_dir=A,/home/qbittorrent/music
db_dir=/var/cache/minidlna
log_dir=/var/log/minidlna
log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
root_container=B
#network_interface=eth0
port=8200
friendly_name=MiniDLNA
serial=1234567890
model_number=1234
inotify=yes
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
notify_interval=60
max_connections=10

Создадим наши каталоги:

sudo mkdir /home/qbittorrent/{music,pictures,video,torrent} 

Устанавливаем права

sudo chown -R qbittorrent:qbittorrent /home/qbittorrent/

Перезагружаем демон если настраивали minidlna с помощью init.d

sudo /etc/init.d/minidlna restart

Перезагружаем демон если настраивали minidlna с помощью systemd

systemctl restart minidlna.service

Перечитываем кэш

minidlnad -R

Правим sysctl.conf иначе будет ругаться в логах на эту настройку.

sudo nano /etc/sysctl.conf

Добавим в конце файла.

# MiniDLNA 
fs.inotify.max_user_watches = 100000

Применим настройку

sudo sysctl -p

Проверяем логи и смотрим статистику:

sudo cat /var/log/minidlna

Сброс кэша minidlna

Если возникает ситуация, когда необходимо сбросить кэш minidlna, можно воспользоваться командами:

sudo service minidlna stop

Удаляем кеш файл

sudo rm -rf /var/cache/minidlna/files.db

запускаем службу:

sudo service minidlna start

. . . .

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять