Adding YoutubeTV to FreeNAS 11.2 Channels Plugin

Tried that combination with no joy earlier, but all of the sudden I am back to having the issue that I had with my last build...the shell for the channels-dvr jail is not working. The cursor sits at the top blinking, but is non-responsive. Rebooting the entire box does not solve that issue.

It is a good thing I am just tooling around to see if this will work better for me.

You could try a manual install. These are the commands I used when testing TVE, very similar to my old forum post. Read through them if you c/p to make sure the ip address and gateway line up with your install. If it doesn't work just destroy the jail and start again.

echo '{"pkgs":["curl","ca_root_nss","chromium","sudo"]}' > /tmp/pkg.json
iocage create -n "channelstest" -p /tmp/pkg.json -r 11.2-RELEASE ip4_addr="vnet0|192.168.1.75/24" defaultrouter="192.168.1.1" vnet="on" allow_raw_sockets="1" boot="on"
rm /tmp/pkg.json
iocage exec channelstest mkdir /usr/local/etc/rc.d
iocage exec channelstest "pw user add channels -c channels -u 820 -d /nonexistent -s /usr/bin/nologin"
iocage console channelstest
pw groupadd -n admin -g 1000
pw groupmod admin -m channels
cd /usr/local 
mkdir -p channels-dvr 
curl -f -s https://getchannels.com/dvr/setup.sh | env DOWNLOAD_ONLY=1 sh
chown -R channels:channels channels-dvr
sysrc channels_dvr_user=channels
curl -f -s https://getchannels.com/dvr/install-freebsd.sh -o channels-dvr/install.sh
chmod +x channels-dvr/install.sh
sh channels-dvr/install.sh
echo 'channels_dvr_enable="YES"' >> /etc/rc.conf
exit
iocage fstab -a channelstest /mnt/storage/dvrtest /dvr nullfs rw 0 0 
iocage exec channelstest 'sysrc ifconfig_epair0_name="epair0b"'
iocage restart channelstest

Well, I just started from scratch...reinstalled FreeNas...then, the only thing I did before I ran your above commands was set up a pool.

I ran your commands, and they seem to work fine...but, I have ended up back where I was before...when I go to the web ui for Channels DVR, I still get the same google chrome error when trying to set up TVE. My HDHRs work fine. Also, again, after all of that, the shell for the jail does not work. I also cannot use the "iocage console" command from a regular shell or from an ssh session. So, I can't even use any line commands to troubleshoot the jail.

The freenas guys are fixing this for us: https://github.com/ix-plugin-hub/iocage-pkg-build/commit/f225e723240f9e6a9869b8bf901302c96d27509f

I just signed up and currently on my 30-day free trial. I am having the exact same issue. How do I upload this package to my freenas 11.1? Is it advisable to upgrade to 11.2?

So, I am having a weird issue, and I know I have to be doing something wrong because I am a total noob with FreeNAS.
I have no issue installing FreeNAS...I am using an old HP 8100 Elite with an iCore5 (650) with 4 threads and 8GB of RAM. I install FreeNAS on a 120GB SSD and I have a single 500GB hard drive to go with that.
Once installed, I create a Pool (entire 500GB drive) for the jails to live in.
I then install the channels-dvr...I have tried Jmcguire525's method above and also hjd's method from https://community.getchannels.com/t/freenas-11-2-help/10290/11.

Both of these methods work for me and I end up with a Jail, in which channels dvr lives.

This is where my issue starts: I have to create somewhere for the DVR to store recordings, but I cannot create a dataset until the jail is built. But, when I create the dataset, I cannot find any way to change the permissions...unless I set the permissions on the Pool and have it recursively change the permissions on all the datasets below it. If I don't allow writing to that dataset, the Web GUI will not finish the setup...so this is how I get that done. But, every time I change the permissions recursively, I lose the ability to run a shell from the channels-dvr jail.

However, the web GUI still functions fine...until I go to setup ETV...I still get the google-chrome error...even when I know Jmcquire525's method installs chromium...even after tmm1 updated Github to include chromium.

But, since I can no longer use a shell from that jail I cannot do anything (well, except watch stuff from the HDHR sources...which works fine) and have to start from scratch.

Edit: Also, trying to use iocage console command in the main shell to change to the jail's shell does not work, either.

Ok, so the 120GB ssd is your boot drive and the single 500 is for storage? If this is just for testing that is fine but if you are going to need more storage later on yo should get it now, Freenas storage is not easily expandable, plus you may want some redundancy.

First thing to consider is that your storage and jails are separate, before you even start with jails you should go ahead and create datasets for storage. For example, create a dataset called "storage" and in that dataset create another called "dvr".

You can set permissions for each dataset individually, you should read up on permissions and understand them fully, I'm not sure what the default user is when creating the Channels Jail from the plugin, but when you manually create the Jail using my method the User/Group is Channels/Channels and the id is 820.

Honestly, Freenas isn't the easiest OS to jump into, you're going to have to do alot more reading if you want to understand what you're doing and why it is or isn't working. For your use case you may be better off with a linux distro or Unraid.

Here is a look at my datasets, there are also additional datasets under "apps" in which I store the config files for my other jails, that way I can destroy the jails without deleting the config, which makes it easy to reinstall. Channels doesn't need the config stored outside of the jail because it can be reinstalled using the files located in your "dvr" dataset. Again, the "dvr" dataset used for storage will live OUTSIDE of your jail.

Hey, thanks for dropping some knowledge my way...always appreciated. Yeah, this is just a test to get my toes wet. Also, yes, SSD is boot and 500GB drive is storage.

Do you build the dataset outside the Pool or inside the Pool? I have been building inside and unless I create it below the jail, I cannot see it when in the web ui setting the storage for the recordings.

Thanks again for any nudges...I'll play with the setup more, when I get home this evening.

The manual install shouldn't be necessary any more.

The FreeNAS team is adding chromium to the list of available packages, but I'm not sure that their package repo has been updated yet. It might take them a few days to roll it out.

Awesome.. I will just wait on that update then! Thanks for your hard work.

I have my jails stored in a different pool, but the default behavior is that iocage jails are stored in your main volume.

Even when you have everything in one pool your storage should be outside of you jails dataset, it will look something like this...

-Storage (Main Volume)
  -Storage
     -DVR
  -Jails
    -Channels

I haven't used the plugin but I do know that most plugins still require the user to add storage to the jail (mounting a dataset outside of the jail).

@tmm1 I assume this is how the plugin works, he should be creating his own storage dataset for the DVR and mounting it correct?

Where do you upload the plugin pbi? I've never used plugins but wanted to test it out.

The PBI system was only for FreeNAS 9.

I've updated the instructions on our site to contain the iocage plugin command that you have to use to install our official plugin: https://getchannels.com/dvr-server/#freenas

I've also requested that FreeNAS include Channels DVR on their list of official plugins so you can just select it from the list and install it: https://github.com/freenas/iocage-ix-plugins/pull/168

A noobish question. Thanks for the responses, by the way. When the package repo is updated, how would I go about uploading it to my freenas? In addition, if I were to upgrade my freenas to 11.2, using the iocage plugin instructions, would I still need to install the chromium package?

Well, as I write this, my FreeNas build with Channels-DVR is working with TVE channels...:slight_smile:

So, a couple of things:
I tried both install variations and had the greatest success with Jmcguire525's, because it successfully installed chromium...or did it? Chromium failed to install and it tried a second time, but I never saw a successful confirmation. The channels-dvr plugin was downloaded and installed afterward. At the end of all of this, chromium was working. I don't know if the github files got updated with chromium between the time I installed the plugin with the short instructions and the time I did the manual install. Maybe tomorrow, I break it all back down and redo the short method and see.

I also figured out my dilemma with the storage: I needed to create the storage outside the jail, as Jmcguire525 pointed out...but I still could not select it in the web ui to use. I had to go in and stop the jail and create a mount point, inside the jail, that pointed to the storage dataset that was set up outside the jail...restarted the jail and that did the trick.

If you were following my manual install then mounting the storage to the jail was part of the commands I posted.

I managed to install the Chromium package, but now I get this message, "chrome failed to start: Shared object "libdl.so.1" not found, required by "chrome". What am I missing?

Okay, I did not have any mount points when I completed your steps...but, I just noticed something. I set up the dataset like the example you showed above and named it the same...'DVR'. I just noticed the dataset you point to in the install steps is named 'dvrtest'. I probably will not get back to anything today, but I will rebuild tomorrow and test, with that change.

BTW, it still worked fine.

My 4TB drive is supposed to be delivered today, and the cable is scheduled to be cut off next week, so it is time to decide what my final build will be, so, if you don't mind my asking for advice...which would you go with:
HP 8100 with a Core i5 650 (2Cores/4Threads), 8GB RAM, 120GB SSD, 4TB Drive running FreeNAS
or
HP Elite 800 with Core i5 4590S (4Cores/4Threads), 8GB RAM, 120GB SSD, 4TB Drive in USB3 external enclosure, running Win10...(this is my current setup that is running nextPVR as my backend for Kodi...with only a 1TB drive in the external enclosure)

What you name your dataset doesn't matter as long as you mount it by your naming scheme. Does that make sense?

Yeah, that's what I meant...gonna change your command to match my name.