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).