Just wondering if anyone anyone has installed Channels DVR using docker yet? Since TrueCharts is no longer supported I can’t upgrade until I figure out how to reinstall it. I’m just starting to experiment with Docker but the installation on Electric eel seems to be a little different than just running the provided command to deploy the container.
Are you using this Channels — Channels DVR Server yml?
It looks simple enough but I haven’t tried it myself. A common cause of trouble is setting the wrong permissions on the Host Path directory.
If you elaborate on where you get stuck others will have an easier time assisting you.
I appreciate the response. I was curious if anyone has tried it yet on Electric eel because I haven’t seen it posted anywhere yet. I haven’t looked into Docker much until now. I was able to spin it up pretty easily on Linux but TrueNAS is quite different.
It is a little fiddly at first, but I have it running well with EE. Under Proxmox even. Works great once dialed in.
I’m having a really hard time with ChannelsDVR. I dont know much about Docker. I have Channels installed where it pulled the image from Docker Hub but, i lose all configuration anytime I restart the app or server.
It is running great until a restart of any kind.
I have read about persistant storage but i am unable to get this figured out,
I’m too old for all the new technology…
You’re not too old for technology and the channels app sucks like that. If you reboot it works fine, but anytime you restart or upgrade, you have to restore the database.
I go to ChannelDVR settings page → general → save database backup, after restart or upgrade, just restore the latest database backup and it brings you exactly back to where you were. I tried to figure out why it did this for a while, but now I just use that process and everything it great.
I’ve just tried this and not working for me. I don’t use Channels in the traditional sense. I’m not using the DVR feature, or anything like that. I am only using it for TVEverywhere so I can log into my cable provider and have Channels generate a M3U and EPG that I can use in Emby.
So when I restore the backup, I have lost all of my live tv sources and the downloaded epg’s leaving me to recreate the sources again.
There is finally a community version of ChannelsDVR in the apps section of Truenas Scale but it ofcourse gives me a chrome error when i try to setup my sources in TVEverywhere.
Yeah, I don’t use TVE but my over the air sources are not impacted, the EPG data is, but I have 8GB internet, so that isnt a concern.
I’ve managed to migrate my Channels DVR server semi-fluidly as the BSD support was being phased out.
I use the community app version on 25.04 currently. I did have to manually set the User and Group IDs to match what my prior system used (820, in my case), i enabled “Host Network” so I could have it be discoverable (not needed, but simplifies not needing to set up all TVs yet again), and set the storage configuration to where I had it stored before as well as DVR recordings. I also have some static movies and tv content I shared via Host Path methods at the same path as prior (e.g. /mnt/MEGARAID/Media/Channels_TV → /mnt/TV ) and it all seems to work after I restored a fresh database backup from the DVR store. (remember to make a new one just before disabling the old server)
I’d like to set up an Instance (jail), even manually, but when I tried, there was no write access to the DVR storage, rendering it all moot at the moment. If theres a way to do that, I’d like to know, but with the experimental state of Instances, I don’t need to yet.
Other instances I had done, which is what I mean by fluid, I had tinkered with using a Raspberry Pi with the data stores mounted over NFS, and that seemed to work similarly (uses a container there too). For extra weird, just before I migrated to SCALE, I had configured a BHYVE VM on CORE running Debian to serve as DVR, which again I opted mount the data stores over NFS, which worked despite being the same physical machine. Instances wouldn’t be able to do that if MACVLAN is used, something about the stack being implemented in a way that confuses switches.
So I’ve been having good luck with Channels. I come from currently using linux for work, and having used it as my primary os and free time hobby (including custom kernel mods) in college in the late 90’s. After tinkering with SCALE on VMs and an older server for a few months, I figured it was time to transition. Which I did just yesterday.
Is there a good guide for the setup of the configuration? Can I pretty much just leave everything set to default? User ID & Group ID
The port used to be 8089 now its 30270.
Is this a migration of an existing database, or a whole new setup?
If it’s new, I would hope it’s straight forward, and you probably only need to configure the location of the DVR content.
If it’s old, the main steps I had to manage were:
- If you have the prior container running, backup the database just before shutting it down (Settings → General → Library Database - Maintenance - “Save Backup Database”
- This makse sure all the info about recordings and such are kept. When you set up a new instance of the DVR, it will ask if this is new or you want to restore from backup. (more on that later)
- Since i ran my old system on BSD, i think the uid and gid were different, so i configured that in the App setup. I haven’t tried it without it, so I assume its needed without confirming it
- Point it to where on your raid has the recordings database. Within the App, my old DVR store in the container appeared as /mnt/DVR, but newer Apps always use /shares/DVR. For reference when the configuration asks for it
- I also set up manually added file storages for files I put there from my PC, so I made sure it include those as additional mounts in the configuration
- Once it starts up, the main web interface will ask if you want to set up as new or restore from backup. The restoration step covers all the runtime stuff you need, from account login to schedules. You just have to browse to the base directory of the recordings within the App’s context, and it will list all your backups available, complete with creation date and number of recordings and other quick stats, for your own ability to find the newest one.
That was all I think I needed to do to set up mine.
I was gone for a few days. Prior to leaving since all my apps disappeared but since critical stuff is backed up. I just went ahead and updated to the latest version of scale. I do have both Portainer & Dockge installed. I did finally get Channels DVR to install but their is no WebUI button. I can access the webpage fine but when I tried to add a source it errored out because it was not installed in a container. So I guess it needs to be installed through Docker?
fancybits/channels-dvr - Docker Image | Docker Hub
In Dockge, I assume this is what I need & just change the storage paths.
Docker Compose
channels-dvr:
image: fancybits/channels-dvr:latest
container_name: channels-dvr
network_mode: host
ports:
- "8089:8089"
restart: unless-stopped
devices:
- /dev/dri:/dev/dri
volumes:
- /mnt/disk/dvr/config:/channels-dvr
- /mnt/disk/dvr/recordings:/shares/DVR
Re WebUI button: this is a feature of the yaml that either isn’t available to non-apps, or maybe isn’t fully parsed when a non-app. When I changed an app to a custom docker container, I tried updating the WebUI button, but it wouldn’t change from what it had been. There’s an “x-portals” section doing this, but if i change it, nothing actually changes. Maybe it’s a bug, but it feels out-of-scope maybe.
Otherwise, yes, this looks reasonable. Straight from Channels’ website I think. The folder chosen for the /shares/DVR contains folders: Database Images Imports Logs Movies Streaming TV. The /channels-dvr folder has a few dated folders (YYYY.MM.DD.HHMM) for server versions of compiled binaries, a link “latest” to the latest, and a data folder.
With a little bit of trial & error I was able to get it installed in Portainer, Everything seem to be working as it should.