QBitTorrent
qBitTorrent is a complete system for mananging torrents. It has server, web, and client components.
I run qBitTorrent-nox, which includes server and web components. I don't need the client app (err, why not though if it doesn't hurt?)
Usage
To watch a new tv show:
- Add watched folder to qB web ui (NOTE: qbt will restart on next cronjob)
- subscribe to rss
Configuration
Many important settings are available to be set in the qB web ui. Hit the gear icon in the toolbar.
Configure emails to be sent on download
Within qB web ui:
[x] email notification upon dl completion From: smtp.bitpost@gmail.com To: m@bitpost.com SMTP server: smtp.gmail.com [x] SSL [x] authentication u/p (see private)
Within gmail:
- set up a (from: smtp.bitpost.com, subject: qBittorrent) filter to move/apply label Feed/devops/downloaded
- set up a gmail phone app notification
app > Settings > thedigitalmachine@gmail.com > Manage labels > Feed/devops/downloaded > All
Config files and folders
The app is supposed to store settings in ~/.config. But it has permissions problems when running as non-root. Once you run as root, the stupid thing stores all its settings under the root [/] folder (NOT the ~root folder!). Idiots.
WARNING: when qbt saves qBittorrent.conf, it destroys the symlink, writing a hard file over it. This really sucks, because everything else respects the symlinking, like qBittorrent-data.conf, watched_folders.json. REALLY sad and inconsistent and just typical Qt fussiness and inconsistency and "i did it this way because i liked it at the moment and so what if it is deep and convoluted it works for me"...
So the bottom line is...
/.local keep local, remember to cp this out if you need to recreate qbt environment or LOSE ALL SEEDS /.config saved in config repo but when qBittorrent.conf loses symlink, we need to copy it (see mh)
Details:
/.config/qBittorrent/qBittorrent.conf saved; preferences and settings; qb clobbers symlink on save(!) /.config/qBittorrent/watched_folders.json saved; all our watched folders, one for movies, one for EVERY TV SHOW /.config/qBittorrent/qBittorrent-data.conf apparently just some stats; constantly changes, don't save /.config/qBittorrent/rss/feeds.json not used by me (see RSS tag in webUI) /.config/qBittorrent/rss/storage.lock not used by me /.local/share/qBittorrent/BT_backup cache of torrent files; CRITICAL DATA /.local/share/qBittorrent/GeoDB ? /.local/share/qBittorrent/nova3 ? /.local/share/qBittorrent/rss/articles ? /.local/share/qBittorrent/logs/qbittorrent.log the log, not very verbose; locked by qB (don't symlink) /spiceflow/safe/data/private/qB/move.log I created this and append each torrent move to it /spiceflow/safe/data/private/qB/MDM_backup I created this and set qB to copy finished torrentfiles here
Installation
Install qbittorrent.
sudo add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable sudo apt update sudo apt install -y qbittorrent-nox # next we run it directly to accept license and set things up # you can go to localhost:8080 while it is runnning, but might as well CrtlC and move on qbittorrent-nox Ctrl-C
Set up a service.
# set up a service, see bandit ~/config/etc/systemd... for details # note that I set up a qbittorrent user to run the service under... # but that just caused a lot of permissions problems so i am not using it sudo systemctl enable qbittorrent-nox.service
Set up cron to read rss feed regularly.
# MDM Grab torrents from RSS very often */5 * * * * /home/m/scripts/ubuntu/bandit/cron_getrss.sh >/dev/null # MDM Move torrents into place every minute. 0-59 * * * * /home/m/scripts/ubuntu/bandit/cron_movetorrents.sh >/dev/null
I pushed the crontab to the config repo and stowed it.
🤠 m@bandit [~] sudo ls -lad /var/spool/cron/crontabs/m lrwxrwxrwx 1 root root 77 Nov 2 23:03 /var/spool/cron/crontabs/m -> ../../../../home/m/development/config/ubuntu/bandit/var/spool/cron/crontabs/m
Ensure bandit VM starts at boot; any order is fine.