diff --git a/wiki/docker-images/linuxserver_-_tvheadend.md b/wiki/docker-images/linuxserver_-_tvheadend.md new file mode 100644 index 0000000..1e54acd --- /dev/null +++ b/wiki/docker-images/linuxserver_-_tvheadend.md @@ -0,0 +1,72 @@ +# linuxserver - tvheadend + +This is a docker container for a [TVHeadend](../tvheadend.md) +server. +The official container and documentation was made by +[linuxserver](https://hub.docker.com/r/linuxserver/tvheadend). + +## Set-up + +Create the files `rebuild.sh` and `docker-compose.yml` at the same place. +Change the settings according to your needs and run `./rebuild.sh` afterwards. + +## Environment-variables + +Set the following environment-variables in the `environment:` section of the +docker-compose file. + +| Name | Usage | Default | +| --------------------- | --------------------------- | ----------------------- | +| `PUID` | user id for container user | `1000` | +| `PGID` | group id for container user | `1000` | +| `TZ` | specify the timezone | `Europe/London` | +| `RUN_OPTS` | specify the timezone | ` ` | + +## Volumes + +Set the following volumes in the `volumes:` section of the docker-compose file. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | --------------------------------- | +| `config` | `/config` | directory for config | +| `tvdvr` | `/recordings` | directory for storage | + +## Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ------------ | +| `9981` | ` ` | TCP | webUI | +| `9982` | ` ` | TCP | HTSP port | + +## rebuild.sh + +```sh +#!/bin/sh +docker-compose down +docker pull lscr.io/linuxserver/tvheadend:latest +docker-compose up -d +``` + +## docker-compose.yml + +```yml +version: "2.1" +services: + tvheadend: + image: lscr.io/linuxserver/tvheadend:latest + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + volumes: + - config:/config + - tvdvr:/recordings + network_mode: "host" + restart: unless-stopped + +volumes: + config: + tvdvr: +``` diff --git a/wiki/docker-images/matrixdotorg_-_synapse.md b/wiki/docker-images/matrixdotorg_-_synapse.md index 651e869..46893a1 100644 --- a/wiki/docker-images/matrixdotorg_-_synapse.md +++ b/wiki/docker-images/matrixdotorg_-_synapse.md @@ -52,7 +52,6 @@ docker-compose up -d ## docker-compose.yml ```yml - services: synapse: image: "matrixdotorg/synapse:latest" diff --git a/wiki/jellyfin.md b/wiki/jellyfin.md index 3cdcf4c..5fcf679 100644 --- a/wiki/jellyfin.md +++ b/wiki/jellyfin.md @@ -15,3 +15,28 @@ You can add IP-TV under `Live TV` in the administration panel. To include a m3u IP-TV stream just put the file on the server or copy its URL and add it under `Live TV`. After that make sure to setup `DVR` to your liking to record. + +## Connect TVHeadend + +This section explains the steps neccessary to make [TVHeadend](./tvheadend.md) +work with a jellyfin server according to the +[official documentation](https://jellyfin.org/docs/general/server/plugins/tvheadend/). +In the admin dashboard install the +[TVHeadend plugin](https://jellyfin.org/docs/general/server/plugins/tvheadend/) +and restart the server. +Afterwards create a user with a username in TVHeadend under +`Go to Configuration > Users > Access Entries > Add`. +Check the parameters +`Rights`, `Channel number range`, `Channel tags`, `DVR configurations`, +`Streaming profiles` and `Connection limits`. +Check `Enabled` and `Web Interface`. +Select `Basic`, `Advanced` and `HTSP` under `Streaming` and `Basic`, `HTSP` and +`View all` under `Video recorder`. +Save the user. +Create a password via `Configuration > Users > Passwords > Add`. +Check `Enabled`, select the according `Username` and fill in the `Password`. +Afterwards save. + +Now in Jellyfin under `Go to Dashboard > Plugins > TVHeadend > Settings` set +the `TVHeadend Hostname or IP Address`, the `HTTP Port` and `HTSP Port`, the +`Username` and the `Password` set in the previous step. diff --git a/wiki/linux/netplan.md b/wiki/linux/netplan.md new file mode 100644 index 0000000..e8ce6a4 --- /dev/null +++ b/wiki/linux/netplan.md @@ -0,0 +1,34 @@ +# Netplan + +[Netplan](https://netplan.io) is a utility for configuring the networking of a +linux system via YAML files. + +## Add more IP addresses to a system + +In the file `/etc/netplan/50-cloud-init.yaml` create an `addresses:` section +for a device (for example an ethernet device) and list the IP addresses you +want to add to the system to it. +It has to be noted, that the added addresses should be outside of the DHCP +range of your router. +An example file will look something like the following lines. +In this case 4 addresses were added. +`192.168.178.18/24` is the IP assigned by the DHCP server. +It has to be noted that this is a special case as the DHCP server assigns this +address always to the system. + +```txt +network: + ethernets: + ens18: + dhcp4: true + addresses: + - 192.168.178.18/24 + - 192.168.178.201/24 + - 192.168.178.202/24 + - 192.168.178.203/24 + - 192.168.178.204/24 + version: 2 +``` + +Afterwards netplan has to be restarted by running `sudo netplan apply`. +The addresses then are assigned to the system. diff --git a/wiki/tvheadend.md b/wiki/tvheadend.md new file mode 100644 index 0000000..170787f --- /dev/null +++ b/wiki/tvheadend.md @@ -0,0 +1,52 @@ +# TVHeadend + +[TVHeadend](https://tvheadend.org/) is a server application that forwards video +streams to internet streams. +It supports multiple dvb tuners and tuner sticks aswell as Sat>IP tuners. +It also has the ability to record programs like a digital video recorder. +TVHeadend is compatible with [jellyfin](./jellyfin.md#connect-tvheadend) with +the help of a plugin. + +## Setup + +The software can be setup via docker with the +[linuxserver image](./docker-images/linuxserver_-_tvheadend.md). + +### Fritzbox + +Using a Fritzbox as the router the build in SAT>IP tuner can be used. +For this `--satip_xml http://192.168.178.1:49000/satipdesc.xml` needs to be +added as a run option with the IP address matching the one of your Fritzbox. + +For multiple tuners to work the hosting system has to have multiple IP addresses +as only one address can be bound to one tuner at the time. +Setting up a linux system with additional IP addresses is described in +[the netplan entry](./linux/netplan.md#add-more-ip-addresses-to-a-system). + +The still needed setup is equal to the [setup for DVB-C Tuners](#dvb-c). + +### DVB-C + +In TVHeadend navigate to `Configuration > DBV Inputs > TV adapters`. +Create a Network, select `Enabled`, set your `Network name`, select one of the +`Pre-defined muxes` according to your location and internet provider. +Set `Network discovery` to `New muxes + changed muxes` and uncheck +`Skip startup scan`. +Then click `Save`. + +In TVHeadend navigate to `Configuration > DBV Inputs > TV adapters`. +There are the tuners connected to your system. +Select them one-by-one, check `Enabled`, select your just set up network in +`Networks` aswell as `DVB-C` as the network type. +Set `Next tune delay in ms (0-2000)` to `200` and select `On` for +`Pass specinv`. +Then put in one of the IP addresses added to your system in the previous step +under `Tuner bind IP address`. +Then click `Save`. + +After these steps a list of Muxes should appear in +`Configuration > DBV Inputs > Muxes` and some of them should turn to `OK` under +`Scan Result`. +Following this a list of TV and radio channels should appear in +`Configuration > DBV Inputs > Services`. +After this the setup is completed.