How To Create A NAS Using ZFS and Proxmox (with pictures)

Seedbox Theory:
The lowest resource utilization (read: excellent performance) seedboxes use rTorrent 48 with the ruTorrent 38 web interface over FCGI 13 (e.g. PHP) on Apache 1 or nginx 2. Most mid-range seedboxes with good performance (read: human configurable) typically use Transmission 15 or Deluge 12 instead. Lower performance, and very user friendly, seedboxes typically use uTorrent v2.2.1 2 (Windows only) or qBitTorrent 4 (cross platform). While other 4 applications 2 may support the BitTorrent 1 protocol, they are not appropriate for seedboxes. Except for rTorrent, modern seedbox quality BitTorrent clients have integrated web interfaces that offer basic functionality.

For the purposes of this tutorial, Quickbox 180 software will be used. It is essentially a well supported push-button style installer script for rTorrent/ruTorrent hosted on Github for Debian/Ubuntu. The notable features are that it actually works, unlike literally 18 everything 13 else 14, including 10 manual setup 19. An honorable mention is that while it cannot run natively, the docker version 14 of rTorrent looks promising, but non-native means it would be better to just use Transmission instead.

In case Quickbox dies at some future date, the landscape’s alternatives should now be clear.

Quickbox Resources:

Further Reading:

Quickbox Command Reference:

  • reload – Alias that restarts the seedbox services, i.e; rtorrent & irssi.
  • fixhome – Quickly adjust /home directory permissions.
  • showspace – Shows amount of space used by each user.

  • createSeedboxUser – Creates a shelled seedbox user.
  • deleteSeedboxUser – Deletes a created seedbox user and their directories (permanent).
  • changeUserpass – Change users SSH/FTP/deluge/ruTorrent password.
  • setdisk – Set your disk quota for any given user (must be implemented seperately 15).

  • upgradeDeluge – Upgrades deluge when new version is available.
  • upgradeBTSync – Upgrades btsync when new version is available.
  • upgradePlex – Upgrades Plex when new version is available.
  • upgradeJacket – Upgrades Jacket when new version is available.
  • upgradepyLoad – Upgrades pyLoad when new version is available.
  • setup-pyLoad – installs pyLoad
  • quickVPN – Something about VPNs.
  • removepackage-cron – upgrades your system to make use of systemd + (must be on Ubuntu 15.10+ or Debian 8)
  • clean_mem – flushes servers physical memory cache (helps avoid swap overflow)

Of note here is that Quickbox does not support multi-user configurations on a vanilla install. Care must be taken to manually ensure each rTorrent session is unique, with unique FCGI ports, and to set up disk quotas properly. A lazier alternative is to use containers/VMs to support multiple users and implement quotas using ZFS instead.

As root in the seedbox container…

cd ~
apt-get -yqq update; apt-get -yqq upgrade; apt-get -yqq install git lsb-release
git clone https://github.com/QuickBox/QB /etc/QuickBox
bash /etc/QuickBox/setup/quickbox-setup