livestream and XMLTV guide data

This may be a dumb question but that seems to be the theme for my evening...
Is the ical-to-xmltv docker supposed to run persistently? Is the guide data it creates repeating and the XML file enough, or will it expire in a couple of weeks? Asking because I've got the docker installed and launching fine, it creates the basic.xml file, which works with Channels, but I also see that the docker exits a few seconds later. Should I be using a cron command to have it run again every 2 weeks or something? I have hlstube and channels-baseball running successfully in Docker Desktop too, and they're persistent. So yes, while I'm grateful for everything shared here, and seem to have figured out how to get this far, I'm still a little confused. :thinking:

Same. I feel like it’s only two weeks worth of guide date it seems like. I have really opened the xml file to see if it is.


How do you run a "cron" command?

I'm learning too, and this seems to be a good spot to start:

It might be simpler to modify the docker to run in a loop, similar to how the Pluto one does.

ChatGPT can probably make the changes. You could add a loop in the

If season passes aren't working the xmltv will need to be updated to add unique program identifiers

I have been playing with this probably for the past 2 hours since your last response. I have gotten to this code.

while true; do
echo ""

sleep 120


But it doesn't show that the file hasn't been recreated. Only the first time starting up the docker. Any ideas as to why?

1 Like

Awesome, this is working great. Thanks again @tmm1

Season Passes are not working, but that makes sense as to why, thanks.

Yes, Advanced Passes appear to be working for me. I set some up by show name and they’re now queued. :+1:

I updated the code so the XMLTV can work with season passes

1 Like

Wow, thanks again @tmm1! :crown: I just updated my docker, removed the Advanced Passes, and added them back, along with a few more, as Season Passes instead. Just set to record "all episodes" instead of new ones, of course. Now I see the appropriate shows queued to record. Sweet, this is perfect, I really appreciate it.

1 Like

You are literally the best @tmm1 absolutely killing it! To be the icing on the cake, how would you be able to insert into the .py file the image for each show and show summary of the show. Basically metadata as it is the same week in and week out.

You could edit the metadata after the first recording so the show has the proper image and details.

Oh gotcha. So if I delete a recording and then it get's recording again it will come up as what it was before?

Yes. because the metadata and artwork you will edit go on the show level, not episode level.

1 Like

Gotcha, that makes since. Thank you!

1 Like

I don’t mean to derail this thread, but can someone point me to a good source to learn/teach myself some of the terminology in installing some of what is referenced in this thread? For example, the iCal to XMLTV Converter at GitHub lists two steps in the “Using via docker” instructions. I’ve had Docker running on my Synology (to use for Homebridge) for a few years, and believe I’ve just successfully updated to the latest Docker Compose by messing around with instructions online, but the second instruction (telling to “CD to app source directory” and run a command) is beyond me. I know generally how to CD, but I’m not even sure what the "app source directory" is, if I’m supposed to have installed the Converter files somewhere first, etc., or what terms to use to do a Google search to figure this out on my own.

I apologize in advance if this comes across as naive and generates eye rolls from those for whom this is old hat, and I’m not even sure when I’ll have time to fully dig into this, but I’d love some day to have some basic ability to follow this.

git clone
cd ical-to-xmltv
1 Like

@Fofer have you been having to update the YouTube url for the twit stream? I have had to do it twice in the last week or two. I guess they keep doing new streams every week now it seems. I wonder if there is a script or something we could run in docker to automatically update the url.

I haven't had to change videoID because I don't use videoID in the URL for this particular livestream... instead I use @twit (the channel name.) Pretty sure this worked when I used hlstube and certainly works now with the Kister Method. Here's how that is formatted, been working for many months now for me with TWiT specifically, no docker required: