[mythtv-users] mythbackend in a docker container

Mike Perkins mikep at randomtraveller.org.uk
Sun Nov 5 16:09:31 UTC 2023


On 05/11/2023 15:30, Paul Gardiner wrote:
> On 04/11/2023 15:31, James Abernathy wrote:
>>
>>
>> On Sat, Nov 4, 2023, 9:28 AM Paul Gardiner <lists at glidos.net <mailto:lists at glidos.net>> wrote:
>>
>>     Is anybody here running mythbackend in a docker container and
>>     successfully passing through access to PCI and/or USB capture cards?
>>
>>
>> I've only done the backend in a VM using KVM/QEMU Libvirt.
>>
>> It works great that way with networked tuners. You can also use USB devices.
> 
> Maybe I should explore KVM as an option. I'm trying to find a more convenient way to deal with 
> updating my linux distribution when new versions appear. For ages now, I've been using two servers, 
> one live and another to install the new version on and test. I know there has to be a better way. I 
> use OpenSUSE because it's the one I know best, going from one version of Leap (the name of 
> OpenSUSE's stable releases) to the next as they come out. They also have a rolling version called 
> Tumbleweed. I wondered about using that, but my mythtv packages wont build for it at the moment and, 
> although I may be able to solve that, I worry that it might be just the first of many problems if I 
> move to the rolling version.
> 
> Latest idea was to use the rolling version as a docker host and run mythbackend in containers still 
> using Leap, which would be very easy to update in that scenario.
> 
> Your post makes me wonder about sticking with Leap versions, and using KVM just to allow the new 
> version installation to be performed on the live server while the old version is still running. Then 
> maybe with some cleverness with grub I can swap to the new version, booting straight into it without 
> KVM, not needing KVM again until the next update.
> 
> I wonder what others do for this, what must be, very common problem. I'm sure I've been making 
> things unnecessarily difficult for all these years I've been using two servers.
> 
I run an (almost) entirely Debian shop. My principle server is a KVM host and runs a number of VMs. 
My general procedure is to keep two copies of our 'main' server as VMs; I also keep two copies of an 
http server. One of each is active and the other is either the previous version or the next one, 
whenever I have to do a release update. (There are other, smaller VMs which are not paired.)

I can therefore setup and test new versions without disturbing whatever other work is happening. 
When I am satisfied there are no more gotchas, I copy across the /home directories from the old to 
the new system followed by a final test.

Then, in my router, I have domain names registered in the DNS server portion pointing to whichever 
one is currently active. For example, main.example.com -> 192.168.202.17 and so on. All I need to do 
is to change the DNS entry and, boom! the new version is in operation.

Snags: as a VM I have separate LVM logical volumes for system and /home, which makes it slightly 
easier to adjust volume sizes when required. I do not use copy-on-write (COW) but allocate the whole 
disk space required. However, KVM treats logical volumes as /disks/ not /partitions/. This does mean 
an awkward use of 'kpartx' to be able to split out the partitions whenever I want to do a copy. 
(There are probably easier methods.)

Obviously most of the above has to be done from either the console or an ssh session into the host 
server. Once I have a new system disk I can, however, use the hostname to connect to it for testing. 
I use thin(nish) clients with x2go for normal work, the only thing that cannot be done via x2go is 
mythtv playback. I have, however, used Firefox to access CCTV and they play back fine over that 
arrangement.

-- 

Mike Perkins




More information about the mythtv-users mailing list