# epg-info-docker
This repo builds and Docker image of [iptv-org/epg](https://github.com/iptv-org/epg).
The purpose is to make the deployment easier and more suitable for different environments.
The original repository of this image is hosted on https://git.claeyscloud.com/david/epg-info-docker.
A public mirror is available at https://github.com/davidclaeysquinones/epg-info-docker.
## Dependencies
[Node](https://nodejs.org/en)
[pm2](https://www.npmjs.com/package/pm2)
[serve](https://www.npmjs.com/package/serve)
The image is based on `node:21-alpine` in order to be more lightweight.
The `pm2` and `serve` packages are used in order to run the application in the container.
## Docker image
### Paths
#### Channels file
An example `channels.xml` is included by default in the image.
```xml
24 Horas
...
```
However if you want to configure your own channels you need to provide your own configuration file.
You can do this by creating a mapping in the `/config` folder.
#### Custom fixes
Through the `ENABLE_FIXES` variable custom provider fixes can be applied to the container.
By default some fixes are available. If you have suggestions or a problem with them please submit an issue.
If for some reason you want to include your own provider fixes this is possible by creation a mapping in the `/fixes` folder.
The expected structure is */fixes/`provider_name`/provider_name.config.js*.
### Environment Variables
| Variable | Description | Default |
|-------------------------------|----------------------------------------------------------------------------|------------------|
| CRON_SCHEDULE | CRON expression describing the recurrence for epg retrieval. | `0 0,12 * * *` |
| DAYS | Describes the desired amount of days in the future for for epg retrieval. | 14 |
| MAX_CONNECTIONS | The maximum amount of parallel connections that can be established | 10 |
| ENABLE_FIXES | Some fixes to providers take a long time to be merged into the main branch.
When this option is enabled some of these fixes will also be included.
The source code for these fixes can be seen under the `fixes` folder.
Recreate the container when changing this variable in order for it to take effect | false |
### Compose file
```sh
version: '3.3'
services:
epg:
image: git.claeyscloud.com/david/epg-info:latest
#image: image: git.claeyscloud.com/david/epg-info:latest:latest
volumes:
# add a mapping in order to add the channels file
- /docker/epg:/config
ports:
- 6080:3000
environment:
# specify the time zone for the server
- TZ=Etc/UTC
restart: unless-stopped
```
### Versions
- 1.0.0
[08-01-2024](https://github.com/iptv-org/epg/commit/793c74ca397504fc2afc8fbfa998e0b8e4ca45d9)
- 1.0.1
[08-14-2024](https://github.com/iptv-org/epg/commit/270e85cfae6f0f691c2e6ab7ce511d60fd687565)
- 1.0.2
[09-07-2024](https://github.com/iptv-org/epg/commit/4e3b06a86e225cdd1b9362a683e6770fb68ff28f)
- 1.0.3
[09-14-2024](https://github.com/iptv-org/epg/commit/c69f3c93b1123ddf0fecc62c7067fced59ae4e99)
- 1.0.4
[09-30-2024](https://github.com/iptv-org/epg/commit/d90c7a54b941238cb92391b33d80a75e746d3002)
- 1.0.5
[10-02-2024](https://github.com/iptv-org/epg/commit/713dbf60a1cb9623ffcab6ab370ee9a78b32102b)
- 1.0.6
[10-02-2024](https://github.com/iptv-org/epg/commit/713dbf60a1cb9623ffcab6ab370ee9a78b32102b)
Adds possibility to enable custom fixes