Modifying Transmission plugin settings in FreeNAS (CLI)

Problem

FreeNAS makes an excellent NAS system, and one of the reasons for this is the capability to integrate plugins for particular features rather than having separate servers.

These plugins run in lightweight containers called jails, these are isolated environments which share the same filesystem as the parent. As such, you can access these jails from the host without issue.

I've set up a Transmission plugin which downloads data directly to the NAS, saving long winded copy operations from another download server should I have used one. This assumes you've already got a working Transmission jail running.

Some settings cannot be changed through the transmission web GUI. This means only one thing - CLI! In particular I was looking for a way to change the default download queue size. Given my internet connection functions at 1Gbps full duplex, I'm more than happy to let everything run at full speed.

Solution

SSH to the FreeNAS server - you don't need to go directly to the jail.

I found my transmission configuration file here:

/mnt/DATA/Jails/transmission_1/var/db/transmission/settings.json

You'll have to modify the path to actually account for whatever filesystem you're using. This will likely be the path to your primary storage mount (in my case /mnt/DATA) and then the root folder for jails, which I've got set to /mnt/DATA/Jails.

My setting in question was: "download-queue-size": 50, which I changed from 5 to 50.

Transmission will then need reloading which you can do using the following command:

killall -HUP transmission-daemon

Assuming that the transmission deamon has this process name. You may wish to check this with: ps aux | grep trans and see what that returns.

Following the killall command, the changes should be applied!

(You could also just reload the jail if you're lazy).