Skip to content

lapicidae/vdr-epg-daemon

Repository files navigation

epgd

epgd - a EPG daemon which fetches the EPG and additional data from various sources (like epgdata, eplists.constabel.net, ...) and provide it to the epg2vdr plugin via a database (MariaDB or MySQL).
The epgd obtains the EPG from the sources by plugins. A plugin for epgData, tvm and tvsp is contained.
It is designed to handle large amount of data and pictures in a distributed environment with one epg-server and many possible vdr-clients.

GitHub Repo stars Docker Pulls Docker Stars GitHub Workflow Status

VDR EPG Daemon docker image based on debian or Ubuntu and s6-overlay.

Features

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • integrated tvm and tvsp plugin
  • epghttpd webinterface (including mostly german station logos)
  • eMail notifications via msmtprc - a very simple and easy to use SMTP client
  • log to file with built-in log rotation

Note

The images are automatically rebuilt when any of the following sources receive an update:

Getting Started

Dependencies

A MariaDB or MySQL server with integrated epglv is required to store the epg details.
For example, you can use the mariadb-epglv docker image.

Usage

Here are some example snippets to help you get started creating a container.

docker-compose (recommended)

Compatible with docker-compose v2 schemas.

version: "2.1"
services:
  vdr-epg-daemon:
    image: ghcr.io/lapicidae/vdr-epg-daemon:latest
    container_name: vdr-epg-daemon
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - LANG=de_DE.UTF-8 #other languages are currently not supported
    volumes:
      - /path/to/cache:/epgd/cache
      - /path/to/config:/epgd/config
      - /path/to/epgimages:/epgd/epgimages
      - /path/to/channellogos:/epgd/channellogos #optional
      - /path/to/log:/epgd/log #optional
    ports:
      - 9999:9999
    restart: unless-stopped

docker cli

docker run -d \
  --name=vdr-epg-daemon \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e LANG=de_DE.UTF-8 `#other languages are currently not supported` \
  -p 9999:9999 \
  -v /path/to/cache:/epgd/cache \
  -v /path/to/config:/epgd/config \
  -v /path/to/epgimages:/epgd/epgimages \
  -v /path/to/channellogos:/epgd/channellogos `#optional` \
  -v /path/to/log:/epgd/log `#optional` \
  --restart unless-stopped \
  ghcr.io/lapicidae/vdr-epg-daemon:latest

Parameters

Container images are configured using parameters passed at runtime.
These parameters are separated by a colon and indicate <external>:<internal> respectively.
For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

Parameter Function
-p 9999 epghttpd Webinterface
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e TZ=Europe/London Specify a timezone to use (e.g. Europe/London)
-e LANG=de_DE.UTF-8 Default locale; see list (only de_DE.UTF-8 is currently supported)
-e LOGO_INTERNAL=false Optional - Use your own station logos in /epgd/channellogos
-e LOGO_OVERWRITE=false Optional - Do not overwrite existing logos in /epgd/channellogos (only relevant if internal logos are used)
-e START_EPGHTTPD=false Optional - Disable webinterface (epghttpd)
-e RESTART_EPGD=true Optional - Restart epgd once at 3:30 AM after the start of the container
-e RESTART_EPGD_AT=3:30 Optional - Change default restart time (examples)
-e KNOCK_EPLISTS=false Optional - Disable connection ceck
-e LOG2FILE=true Optional - Write log to file in /epgd/log
-v /epgd/config Config files
-v /epgd/epgimages EPG images for use in other plugins (e.g. live plugin)
-v /epgd/cache Downloaded, temporary files
-v /epgd/channellogos TV station logos used in Webinterface
-v /epgd/log Logfiles if LOG2FILE=true

User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1234 and PGID=4321, to find yours use id user as below:

  $ id username
    uid=1234(dockeruser) gid=4321(dockergroup) groups=4321(dockergroup)

Thanks

About

VDR EPG Daemon docker image based on debian or Ubuntu

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages