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.
VDR EPG Daemon docker image based on debian or Ubuntu and s6-overlay.
- 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
The images are automatically rebuilt when any of the following sources receive an update:
- debian Official Docker Image - stable-slim
- Ubuntu Official Docker Image - latest
- vdr-epg-daemon GitHub repository
- epgd-plugin-tvm GitHub repository
- epgd-plugin-tvsp GitHub repository
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.
Here are some example snippets to help you get started creating a container.
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 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
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 |
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)
- VDR EPG Daemon Team
- Klaus Schmidinger (kls)
- vdr-portal.de
- just-containers
- linuxserver.io
- ...and all the forgotten ones