User Tools

Site Tools

This is an old revision of the document!

Installation TVHeadend in LXC container


  • Have access to SSH.
  • Have atleast 250GB free space for recordings.
  • Have LXC container Turris 1.x Omnia.
  • DVB-C/T/T2/S/S2 tuner, which is supported by OpenWRT/Linux/Kernel (article, which will help you with missing firmware for your tuner.).

In this article I will show you how to install tvheadend in Debian LXC container on Turris 1.x and on Turris Omnia

Why do you want to use LXC container and why I will show you how to install in it? That's a good question! Answer for this question you can find here:


Turris 1.x

apt-get install git dpkg-dev debhelper pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev libcurl4-gnutls-dev liburiparser-dev python curl cmake dvb-apps libavfilter-dev libpcre2-dev libpcre3-dev libx264-dev libx265-dev libvpx-dev libopus-dev ffmpeg lib libdvbcsa-dev python-requests


apt-get install git dpkg-dev debhelper pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget libcurl4-gnutls-dev liburiparser-dev python curl cmake dvb-apps libpcre2-dev libpcre3-dev python-requests

Downloading TVHheadend

Now you will need to download TVHeadend from Github repository.

git clone
cd tvheadend

Building TVHeadend

We will use script:, which is the easiest way how to compile and install TVHeadend.

If you want compile TVHeadend with some parameter or parameters, now it's the time:

for example

AUTOBUILD_CONFIGURE_EXTRA=--enable-dvben50221 ./

In my case I compiled it with parameter “-enable-dvben50221”, which adds direct support for HW CAMs

Turris 1.x (it's necessary to install it with parameter –disable-ffmpeg_static):

AUTOBUILD_CONFIGURE_EXTRA=--disable-ffmpeg_static ./

Omnia (I couldn't make it to compile it with H.265/HEVC. Hopefully soon I will find way how to install it with it):

AUTOBUILD_CONFIGURE_EXTRA=--disable-libx265\ --disable-libx265_static\ --disable-libvpx\ --disable-libvpx_static ./

If you want to compile it w/o parameter or parameters, you can do it, but I need to warn you. Some errors can appears and unfortunately you will need to use Google to help you or you can beg someone to help you.


It will take around 10 minutes to be done.

You should see these rows, if everything is OK.

Turris 1.x:




Install TVHeadend

From above output you will need to take this name for:

Turris 1.x: tvheadend_4.3-596~gdae932241_powerpcspe.deb

Omnia: tvheadend_4.3-596~gdae932241_armhf.deb

(in your case there will be different numbers, so pay attention to it and replace it with your numbers) and you need to install it otherwise you can't install file, which doesn't exist.

Turris 1.x

dpkg -i tvheadend_4.3-596~gdae932241_powerpcspe.deb


dpkg -i tvheadend_4.3-596~gdae932241_armhf.deb

During the install you would be ask to create account of superuser. This superuser account can not be modified from within TVHeadend itself! If you want to change it, you need to reconfigure the Debian package with this command sudo dpkg-reconfigure tvheadend or you can reinstall TVHeadend.

Password aren't not shown even they're filled.

Install should be done and now you can visit web administration here and use wizard: http://IPaddressofLXCcontainer:9981

When you will login as first time you will see settings wizard. Use it. If you don't see your tuner in 3rd step. There's something wrong and you will need to locate LXC config file and add there few lines.


Turris 1.x: file config (should be in this path /mnt/disk/lxc-containers/debian if you did it exactly same as I wrote it in this article: - sorry it's in Czech for now. Hopefully I will translate it soon) and you need to add these rows:

lxc.cgroup.devices.allow = c 212:* rwm
lxc.mount.entry = /dev/dvb dev/dvb none bind,optional,create=dir
lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir 0 0

Turris Omnia: it should be in /path/of/your/lxc-container and you should add these rows.

lxc.cgroup.devices.allow = c 188:* rwm
lxc.mount.entry = /dev/dvb dev/dvb none bind,optional,create=dir
lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir 0 0

If it doesn't help, then please go to bottom of this article and contact author of this article.

Removing TVheadend

If you don't want TVHeadend, you can remove it by:

apt-get remove tvheadend

Do you know how to improve TVHeadend or do you want help?
Go to the channel #hts on IRC Freenode server, where you can share your ideas and ask for help. Btw IRC is not live support, so please be patient or you can request features on their website: