We definitely appreciate the effort!
Since changing settings in my .env and re-deploying already upgraded me to v2026.09.16.1501, I want to upgrade the compose as well. I don't see any settings in the UI at present. Are they exposed only when they don't exist in the .env, or should I be looking elsewhere? I wanted to check it out before resetting my compose.yaml and .env to this version.
The current build is v2026.09.25.1259. Are you using the Re-pull & redeploy slider in the Portainer-Stacks Editor to pull the latest image?
Ok, so I'm not on the latest version. I saw a date newer than my compose file and made an incorrect assumption. I'm in the middle of a recording now but will update to the new version after it's done. FWIW I manage with Dockge which is essentially just a frontend to docker compose commands.
As an aside, this reminds me a lot of the early days of MythTV. Smart people like yourselves programming their way through issues while untrained but persistent users like me keep testing and asking for help, rinse and repeat. I think we'll get there eventually and Channels DVR can fade back into the "just works" category 
I would suggest setting PYATV=true, even though you're not using pyatv, as that should skip some/most adb commands.
Other than that, as I understand the Osprey/Gemini, there's no app to launch. So, as long as you keep your devices awake, I don't see why you couldn't write a bmitune.sh script that would send a curl command based the $1 (channelNumber) and $2 (streamerIP) values passed to the script.
prebmitune.sh and stopbmitune.sh need to exist, but can be "no-op" scripts.
I believe a posted a sample M3U file for you earlier that would have your channel numbers in it, which would pass the channelNumber value.
You should plan on finding an AI agent you like to help you with this. Also, as @mackid1993 said you'd really be best off using ADB -- and all evidence we know of suggests the problem you're having with your Geminis is something you should be able to resolve.
So our #1 recommendation is to get adb enabled, however this alternative option should work (though you'll be ah4c feature limited). It's also worth noting that you'll be an outlier in terms of how everyone else uses this (and other similar) tools, which of course, makes it more challenging for others to help out.
(post deleted by author)
Nevermind, part 2 I got ahead of myself -- the container didn't update when I changed the compose. I thought I ran a pull but forgot 
New bnhf/ah4c:latest (aka bnhf/ah4c:2026.09.28) pushed this afternoon with support for the container's hostname to be used in the topline menu of the WebUI, and in browser tabs. This means, if you have multiple containers, that hostname will help distinguish between the two.
Typical hostnames are ah4c when you have a single container, and ah4c2 for a second. This is also the way multiple containers are handled when deploying them using Project One-Click. The value of AH4C_CONTAINER in Project One-Click is appended to ah4c.
This looks great!!
My recordings have been going great the first two days. Closed captions are the final piece in the WAF puzzle. I'm finding 4 seconds behind with Cohere is significantly different from the broadcast channels with embedded captions. I'm lowering it to 2 seconds to see if that's better.
I've been having good success with Purfview Faster Whisper XXL model largev2 using Subtitle Edit on Windows. My Channels VM doesn't have access to the iGPU, but my media VM (where ah4c sits) does. I'm thinking of installing something there to generate captions after recording. My two biggest issues are what to install and how to run it automatically after Channels commercial detection is complete. We almost never watch live TV, and captioning after the fact would be much more synchronized. I know this is going outside the subject of the thread and can take it elsewhere.
I feel like every few threads it's important to thank the developers for writing this and making it so easy to implement. I like to say "it's just TV," but when TV dies a lot of voices are suddenly clamoring for the TV they lost. It's nice to be able to bring it back.
You should probably take a look at this project:
Last I looked at it, it seemed a bit challenging to get started, but that may have changed.
Hi @tanderson92 can you take a look at GitHub - handy-computer/transcribe.cpp: ggml speech-to-text inference for 16+ model families · GitHub
It might be time to bump and pin and maybe add another model. If you can find one that works well enough for you let me know and I can look into adding it to the model picker. LLM's evolve so quickly I had to stay on this with the captions.
Will do. I'm recording one with a 2-second delay right now. If that passes the wife test I won't need to look any further.
If you have the HW for it have you tried turning on realtime? Several models support it. Just uses more memory and GPU for processing. It's usually fine if you don't have 10 tuners like yours truly.
oh @tanderson92 unless you have CUDA backing and a nice GPU I'd avoid Cohere. It's a great model but not great for closed captions unless you really have fast graphics to run it.
I have an iGPU and NVIDIA card on my Proxmox server. The NVIDIA card is passed to one of my VMs and the iGPU to my media VM because it was recommended for Plex/Jellyfin transcoding. I have ah4c on the media (iGPU) VM right now. According to ah4c it ran Cohere 4 second delay at 4x or higher; it's currently running Cohere 2 second delay at 2.9x. I'll try Parakeet real time and Nemotron real time to see if those are any better if Cohere 2 seconds doesn't work for us.
How much memory do you have.
Proxmox is a subject that's very near-and-dear to my heart. I run almost nothing bare metal anymore, everything is virtualized on Proxmox, and it works incredibly well for me. There's really nothing better for the tinkerer. 
One suggestion I would make. VMs are great for something like Windows, but LXCs are the answer for just about everything else. It keeps virtualizations lightweight, and allows for the sharing of resources like an iGPU across those virtualizations.
In fact, Channels DVR itself makes an excellent LXC:
Then you can run Docker in another LXC, with ah4c and other projects. Moving LXCs like this from one Proxmox host to another is super easy with a Proxmox Backup Server, to balance loads or to take a host down for an upgrade or other maintenance.
64GB
I'm still new at Proxmox and built my system based on the best recommendations I could find during my preparations. I have a dedicated Channels VM and a separate Media VM that has Plex, Jellyfin, ah4c and anything else I want to access the iGPU while also seamlessly accessing each other.
I'm looking at spinning up a 2nd CDVR server to be my Mom's (using the main CDVR as the channel source) because she seemed surprisingly open to switching how she watches TV. If I do, I'll make that one an LXC and see how I like it. If that works maybe I'll spin up an LXC for my main server and migrate the settings there. One thing at a time, as she absolutely requires stable captions as opposed to my wife who just prefers watching that way.