mirror of
https://github.com/tiyn/wiki.git
synced 2025-04-10 02:27:45 +02:00
Compare commits
4 Commits
2debfd2e5b
...
35ca4ae051
Author | SHA1 | Date | |
---|---|---|---|
35ca4ae051 | |||
6126a61ced | |||
029b1ef56c | |||
7ac4261c04 |
85
wiki/bind.md
85
wiki/bind.md
@ -83,13 +83,63 @@ $TTL 1D
|
|||||||
4H ; retry
|
4H ; retry
|
||||||
4W ; expire
|
4W ; expire
|
||||||
1D ) ; minimum
|
1D ) ; minimum
|
||||||
@ NS <thisserver>
|
@ NS <servername>
|
||||||
|
|
||||||
<thisserver> A <ip of thisserver>
|
<servername> A <ip of server>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
To make the server you operate on the nameserver select a subdomain for it and
|
To make the server you operate on the nameserver select a subdomain for it and
|
||||||
subsitute `<thisserver>` for it and its IP address `<ip of thisserver>`.
|
subsitute `<servername>` for it and its IP address `<ip of server>`.
|
||||||
|
The following uses a filled in example with multiple subdomains.
|
||||||
|
It uses CNAME records as a placeholder for the ip.
|
||||||
|
In the last section the domain itself `home.server` is mapped to the ip
|
||||||
|
`192.168.178.16`.
|
||||||
|
This cannot be done with CNAME as `home.server` is already mapped as a
|
||||||
|
nameserver and assigning it multiple times is not supported.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
$TTL 1D
|
||||||
|
@ IN SOA home.server. kenny.home.server (
|
||||||
|
200405191 ; serial
|
||||||
|
8H ; refresh
|
||||||
|
4H ; retry
|
||||||
|
4W ; expire
|
||||||
|
1D ) ; minimum
|
||||||
|
@ NS kenny
|
||||||
|
|
||||||
|
bag IN CNAME kenny
|
||||||
|
home IN CNAME kenny
|
||||||
|
links IN CNAME kenny
|
||||||
|
search IN CNAME kenny
|
||||||
|
speedtest IN CNAME kenny
|
||||||
|
sync.kenny IN CNAME kenny
|
||||||
|
www IN CNAME kenny
|
||||||
|
|
||||||
|
audio IN CNAME quentin
|
||||||
|
insta IN CNAME quentin
|
||||||
|
jelly IN CNAME quentin
|
||||||
|
media IN CNAME quentin
|
||||||
|
music IN CNAME quentin
|
||||||
|
plex IN CNAME quentin
|
||||||
|
reddit IN CNAME quentin
|
||||||
|
rss IN CNAME quentin
|
||||||
|
sync.quentin IN CNAME quentin
|
||||||
|
transmission IN CNAME quentin
|
||||||
|
tv IN CNAME quentin
|
||||||
|
twitter IN CNAME quentin
|
||||||
|
yt IN CNAME quentin
|
||||||
|
|
||||||
|
folding IN CNAME sheldon
|
||||||
|
|
||||||
|
home.server. IN A 192.168.178.16
|
||||||
|
localhost IN A 127.0.0.1
|
||||||
|
kenny IN A 192.168.178.16
|
||||||
|
mario IN A 192.168.178.15
|
||||||
|
quentin IN A 192.168.178.18
|
||||||
|
sheldon IN A 192.168.178.19
|
||||||
|
```
|
||||||
|
|
||||||
More [DNS records](./dns.md#records) can be added.
|
More [DNS records](./dns.md#records) can be added.
|
||||||
Most importantly used and needed for [reverse proxies](./reverse-proxy.md) are
|
Most importantly used and needed for [reverse proxies](./reverse-proxy.md) are
|
||||||
[A records](./dns.md#a-record) and [CNAME records](./dns.md#cname-record).
|
[A records](./dns.md#a-record) and [CNAME records](./dns.md#cname-record).
|
||||||
@ -109,14 +159,37 @@ $TTL 1D
|
|||||||
)
|
)
|
||||||
NS <thisserver>.<domain>.<tld>.
|
NS <thisserver>.<domain>.<tld>.
|
||||||
|
|
||||||
15 PTR <thisserver>.<domain>.<tld>.
|
<last part of ipv4> PTR <thisserver>.<domain>.<tld>.
|
||||||
```
|
```
|
||||||
|
|
||||||
Additionally add all domain names in front of the first `)` that have been
|
Additionally add all domain names in front of the first `(` that have been
|
||||||
added in the `zone.<domain>.<tld>` file as an [A record](./dns.md#a-record).
|
added in the `zone.<domain>.<tld>` file as an [A record](./dns.md#a-record).
|
||||||
Note that all these have to be followed by a `.` just like
|
Note that all these have to be followed by a `.` just like
|
||||||
`<thisserver>.<domain>.<tld>.` is.
|
`<thisserver>.<domain>.<tld>.` is.
|
||||||
For all these records add a PTR record too.
|
For all these records add a PTR record too.
|
||||||
The first part of the PTR line indicated the IP address.
|
The first part of the PTR line is part of the IP address.
|
||||||
To get the full address add it to the subnet.
|
To get the full address add it to the subnet.
|
||||||
In this case this server has the IP `192.168.178.15`.
|
In this case this server has the IP `192.168.178.15`.
|
||||||
|
|
||||||
|
An example of `/etc/bind/extra-zones/revp.178.168.192` that is compatible with
|
||||||
|
the previous examples is shown in the following.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
$ORIGIN 178.168.192.in-addr.arpa.
|
||||||
|
$TTL 1D
|
||||||
|
@ IN SOA fritz.box home.server kenny.home.server. mario.home.server. otto.home.server. quentin.home.server. sheldon.home.server. ( ;hostmaster.home.server.
|
||||||
|
200405190 ; serial
|
||||||
|
28800 ; refresh
|
||||||
|
14400 ; retry
|
||||||
|
2419200 ; expire
|
||||||
|
86400 ; minimum
|
||||||
|
)
|
||||||
|
NS kenny.home.server.
|
||||||
|
15 PTR mario.home.server.
|
||||||
|
16 PTR kenny.home.server.
|
||||||
|
18 PTR quentin.home.server.
|
||||||
|
19 PTR sheldon.home.server.
|
||||||
|
```
|
||||||
|
|
||||||
|
According to your IPs and domains you may need to create multiple `revp.` or
|
||||||
|
`zone.` files and need to map them back to `named.conf.local`.
|
||||||
|
70
wiki/docker-images/haugene_-_transmission-openvpn.md
Normal file
70
wiki/docker-images/haugene_-_transmission-openvpn.md
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# haugene - transmission-openvpn
|
||||||
|
|
||||||
|
This is a docker container for a [transmission](../transmission.md) server that
|
||||||
|
is connected to the internet via an openVPN tunnel.
|
||||||
|
The official container and documentation was made by
|
||||||
|
[haugene](https://github.com/haugene/docker-transmission-openvpn).
|
||||||
|
|
||||||
|
## Set-up
|
||||||
|
|
||||||
|
Create the file `rebuild.sh`.
|
||||||
|
To see which providers are supported take a look at the
|
||||||
|
[official documentation](https://haugene.github.io/docker-transmission-openvpn/supported-providers/).
|
||||||
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
|
||||||
|
## Environment-variables
|
||||||
|
|
||||||
|
Set the following variables with the -e tag.
|
||||||
|
|
||||||
|
| Name | Usage | Default |
|
||||||
|
| ------------------- | --------------------------- | ------- |
|
||||||
|
| `OPENVPN_PROVIDER` | Provider for OpenVPN | ` ` |
|
||||||
|
| `OPENVPN_USERNAME` | Username for OpenVPN | ` ` |
|
||||||
|
| `OPENVPN_PASSWORD` | Password for OpenVPN | ` ` |
|
||||||
|
| `LOCAL_NETWORK` | Subnet of the local network | ` ` |
|
||||||
|
| `CREATE_TUN_DEVICE` | Use a tunnel device | ` ` |
|
||||||
|
| `WEBPROXY_ENABLES` | Use a webproxy | ` ` |
|
||||||
|
|
||||||
|
## Volumes
|
||||||
|
|
||||||
|
Set the following volumes with the -v tag.
|
||||||
|
|
||||||
|
| Outside mount/volume name | Container mount | Description |
|
||||||
|
| ------------------------- | --------------- | ----------------------- |
|
||||||
|
| `transmission_config` | `/config` | Configuration files |
|
||||||
|
| `transmission data` | `/data` | Storage for data |
|
||||||
|
| `/etc/localtime` | `/etc/localtime:ro` | Link to the systemtime |
|
||||||
|
|
||||||
|
## Ports
|
||||||
|
|
||||||
|
Set the following ports with the -p tag.
|
||||||
|
|
||||||
|
| Container Port | Recommended outside port | Protocol | Description |
|
||||||
|
| -------------- | ------------------------ | -------- | ----------- |
|
||||||
|
| `9091` | `9091` | TCP | WebUI |
|
||||||
|
|
||||||
|
## rebuild.sh
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
docker stop transmission
|
||||||
|
docker rm transmission
|
||||||
|
docker pull haugene/transmission-openvpn
|
||||||
|
docker run --name transmission \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--cap-add NET_ADMIN \
|
||||||
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
|
-v transmission_data:/data \
|
||||||
|
-v transmission_config:/config \
|
||||||
|
-e OPENVPN_PROVIDER=vpn \
|
||||||
|
-e OPENVPN_CONFIG=vpn-country-udp \
|
||||||
|
-e OPENVPN_USERNAME=username \
|
||||||
|
-e OPENVPN_PASSWORD=password \
|
||||||
|
-e LOCAL_NETWORK=192.168.178.0/24 \
|
||||||
|
-e CREATE_TUN_DEVICE=true \
|
||||||
|
-e WEBPROXY_ENABLES=false \
|
||||||
|
--log-driver json-file \
|
||||||
|
--log-opt max-size=50m \
|
||||||
|
-p 9091:9091 \
|
||||||
|
-d haugene/transmission-openvpn
|
||||||
|
```
|
72
wiki/docker-images/linuxserver_-_tvheadend.md
Normal file
72
wiki/docker-images/linuxserver_-_tvheadend.md
Normal file
@ -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:
|
||||||
|
```
|
@ -52,7 +52,6 @@ docker-compose up -d
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
|
||||||
services:
|
services:
|
||||||
synapse:
|
synapse:
|
||||||
image: "matrixdotorg/synapse:latest"
|
image: "matrixdotorg/synapse:latest"
|
||||||
|
@ -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
|
To include a m3u IP-TV stream just put the file on the server or copy its URL
|
||||||
and add it under `Live TV`.
|
and add it under `Live TV`.
|
||||||
After that make sure to setup `DVR` to your liking to record.
|
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.
|
||||||
|
34
wiki/linux/netplan.md
Normal file
34
wiki/linux/netplan.md
Normal file
@ -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.
|
10
wiki/transmission.md
Normal file
10
wiki/transmission.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Transmission
|
||||||
|
|
||||||
|
[Transmission](https://transmissionbt.com/) is a free and cross-platform
|
||||||
|
BitTorrent client.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
The software can be setup via docker with the
|
||||||
|
[haugene image](./docker-images/haugene_-_transmission-openvpn.md) that
|
||||||
|
includes an openvpn tunnel.
|
52
wiki/tvheadend.md
Normal file
52
wiki/tvheadend.md
Normal file
@ -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.
|
Loading…
x
Reference in New Issue
Block a user