This is a docker repository for TVMosaic - a personal video recorder
With the support for satellite (DVB-S/S2), Cable (DVB-C and QAM), terrestrial (DVB-T/T2 and ATSC) and IPTV reception TVMosaic will record your favorite TV programs in original quality directly to a hard disk of your host system and let you watch live and recorded TV content within your home network and on the go.
Application highlights:
Simultaneous support for multiple tuners of different types and from different manufacturers
Easy-to-use configuration web interface
Comprehensive TV recording functionality
Desktop TVMosaic live and recorded TV client for Windows, Ubuntu/Debian and MacOS
Free TVMosaic apps for iOS, AppleTV, Android, AndroidTV and FireTV devices
Live and recorded TV for Kodi and DLNA clients
Built-in support for TVAdviser service, providing rich program information and personalized TV recommendations
XMLTV program information support
SendTo function to archive or export your TV recordings (including video format conversion and comskip support)
Starting from the version 8.0.0 TVMosaic has become TVMosaic CE (Community Edition). This is an opensourced version of the commercial TVMosaic product. For the feature differences between TVMosaic and TVMosaic CE, please refer to TVMosaic CE gitlab repository.
/opt/TVMosaic: this volume has to be mapped to a host directory, which will keep and persist across container restarts/updates TVMosaic settings, user accessible files and TV recordings.
After container startup, the TVMosaic configuration web interface is available at
http://host-ip:9270/web
or, if used with https
https://host-ip:9370/web
Note: If macvlan network is used (see below) then container own IP address should be used instead of host IP address.
It is advisable that TVMosaic container runs in the local network context (this is mandatory for the following features: automatic server discovery, sat2ip/hdhomerun tuner support and DLNA server function).
The easiest way to achieve that is to use --net=host command line parameter. This option will also let you use a free TVMosaic functionality in combination with a Kodi or TVMosaic desktop client, running on the host.
On the host systems where --net=host parameter does not work properly a macvlan network has to be created for TVMosaic container to use.
The command line to create such a network is
You need to substitute subnet mask and default gateway with the values that make sense for your network.
Since macvlan network is not DHCP aware, --ip-range parameter is used to specify an IP address for TVMosaic container. Put there an unused IP addres of your network (preferably outside of DHCP range).
parent parameter points to the network interface, which is connected to your local network. To find out your interface use ifconfig or ip addr commands, depending on the host system.
TVButler TV USB tuner (DVB-T/T2/C) is supported on all host systems, which use /dev/bus/usb for USB devices (read - most of the linux hosts).
For TVMosaic container to access the tuner, you need to give privileged access to a container and map /dev/bus/usb volume:
--privileged -v /dev/bus/usb:/dev/bus/usb
Generic USB, PCI or PCIe tuners work with TVMosaic container, providing that they are supported with video4linux on the host system.
Please use the following command line parameters in this case:
--privileged -v /dev:/dev
To automatically start TVMosaic container on host boot, add --restart=always command line parameter.
Examples of TVMosaic container start command lines
The following command line start TVMosaic container with /opt/TVMosaic mapped to /home/build/tvmosaic directory, using host network and TVButler tuner:
docker run -d --restart=always -v /home/build/tvmosaic:/opt/TVMosaic -p 9270:9270 -p 9271:9271 --privileged -v /dev/bus/usb:/dev/bus/usb --net=host dvblogic/tvmosaic:1.0.0.17550
The following command line start TVMosaic container with /opt/TVMosaic mapped to /home/build/tvmosaic directory, using previously created tvm-macvlan network for use with iptv or network tuners:
docker run -d --restart=always -v /home/build/tvmosaic:/opt/TVMosaic -p 9270:9270 -p 9271:9271 --net=tvm-macvlan dvblogic/tvmosaic:1.0.0.17550
Example of TVMosaic yaml configuration file for use with Docker Compose
The following example configuration file can be used to run the TVMosaic Community Edition with Docker Compose: