Compare commits
28 Commits
a752f37b03
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
674912084a
|
|||
|
ed2a1893bb
|
|||
|
2a380da3e7
|
|||
|
752f63a00d
|
|||
|
2d72a74ee2
|
|||
|
873ce3263f
|
|||
|
2470df6f23
|
|||
|
3d37e65ba6
|
|||
|
ab0da7d28e
|
|||
|
239cf42390
|
|||
|
6db70e71eb
|
|||
|
5987e20465
|
|||
|
e80319aab4
|
|||
|
0dacb81413
|
|||
|
e66f95e351
|
|||
|
80bb3ddf91
|
|||
|
2e868c464c
|
|||
|
ca1c6eaed5
|
|||
|
f3bf94d190
|
|||
|
1d92b0519c
|
|||
|
f90951e308
|
|||
|
1821a14ec2
|
|||
|
f129bb794e
|
|||
|
c3861809ba
|
|||
|
d81bd6700e
|
|||
|
9b0a3d3319
|
|||
|
99b8f1a4c3
|
|||
|
7022545727
|
@@ -1,10 +1,12 @@
|
|||||||
FROM node:20-slim
|
FROM node:20-slim
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y git python3
|
RUN apt-get update && apt-get install -y git python3 curl
|
||||||
RUN mkdir /epg
|
RUN mkdir /epg
|
||||||
|
|
||||||
RUN git clone --depth 1 -b master https://github.com/iptv-org/epg.git /epg
|
RUN git clone --depth 1 -b master https://github.com/iptv-org/epg.git /epg
|
||||||
WORKDIR /epg
|
WORKDIR /epg
|
||||||
|
|
||||||
RUN npm install
|
RUN npm install
|
||||||
|
|
||||||
CMD npm run grab -- --site=tvtv.us
|
|
||||||
|
CMD npm run grab -- --output /guides/guide.xml --channels channels/channels.xml ; npm run grab -- --cron "0 3 * * *" --output /guides/guide.xml --channels channels/channels.xml
|
||||||
74
README.md
74
README.md
@@ -26,9 +26,6 @@
|
|||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
<a href="#about-the-project">About The Project</a>
|
<a href="#about-the-project">About The Project</a>
|
||||||
<ul>
|
|
||||||
<li><a href="#built-with">Built With</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#getting-started">Getting Started</a>
|
<a href="#getting-started">Getting Started</a>
|
||||||
@@ -50,15 +47,9 @@
|
|||||||
<!-- ABOUT THE PROJECT -->
|
<!-- ABOUT THE PROJECT -->
|
||||||
## About The Project
|
## About The Project
|
||||||
|
|
||||||
Here's a blank template to get started: To avoid retyping too much info. Do a search and replace with your text editor for the following: `github_username`, `repo_name`, `twitter_handle`, `linkedin_username`, `email_client`, `email`, `project_title`, `project_description`
|
I had a need to run IPTV's EPG in a docker and did not find any holistic solutions readily available to do so. The goal of this project is simply to
|
||||||
|
provide a vessel by which to easily run the EPG with your selected Sites or Channels and expose the guide.xml on an HTTP interface for easy consumption
|
||||||
<p align="right">(<a href="#readme-top">back to top</a>)</p>
|
in whatever XML-TV consumer you are using.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Built With
|
|
||||||
|
|
||||||
* [![Docker][Docker.com]][Docker-url]
|
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">back to top</a>)</p>
|
<p align="right">(<a href="#readme-top">back to top</a>)</p>
|
||||||
|
|
||||||
@@ -70,30 +61,49 @@ Here's a blank template to get started: To avoid retyping too much info. Do a se
|
|||||||
This is an example of how you may give instructions on setting up your project locally.
|
This is an example of how you may give instructions on setting up your project locally.
|
||||||
To get a local copy up and running follow these simple example steps.
|
To get a local copy up and running follow these simple example steps.
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
This is an example of how to list things you need to use the software and how to install them.
|
|
||||||
* npm
|
|
||||||
```sh
|
|
||||||
npm install npm@latest -g
|
|
||||||
```
|
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
1. Get a free API Key at [https://example.com](https://example.com)
|
1. Build compose.yaml
|
||||||
2. Clone the repo
|
```yaml
|
||||||
```sh
|
version: "3.8"
|
||||||
git clone https://github.com/github_username/repo_name.git
|
services:
|
||||||
```
|
docker-epg:
|
||||||
3. Install NPM packages
|
image: git.donnymims.com/dnny44/docker-epg:latest
|
||||||
```sh
|
container_name: docker-epg
|
||||||
npm install
|
volumes:
|
||||||
```
|
- /mnt/data/docker-epg/guides:/epg/guides
|
||||||
4. Enter your API in `config.js`
|
- /mnt/data/docker-epg/channels:/epg/channels
|
||||||
```js
|
restart: unless-stopped
|
||||||
const API_KEY = 'ENTER YOUR API';
|
docker-epg-caddy:
|
||||||
|
image: caddy:latest
|
||||||
|
container_name: docker-epg-caddy
|
||||||
|
restart: unless-stopped
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
ports:
|
||||||
|
- 9880:80
|
||||||
|
command: caddy file-server --root /guides/
|
||||||
|
volumes:
|
||||||
|
- /mnt/data/docker-epg/guides:/guides
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
```
|
```
|
||||||
|
|
||||||
|
2. Replace /mnt/data/docker-epg/guides with the path on your host where you want to save your guide.xml.
|
||||||
|
This MUST be the same folder on the host for both the EPG and Caddy containers
|
||||||
|
|
||||||
|
3. Replace /mnt/data/docker-epg/guides with the path on your host where you want to save your channels.xml file and make sure that your channels.xml file is located there and formatted as follows:
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<channels>
|
||||||
|
<channel site="arirang.com" lang="en" xmltv_id="ArirangTV.kr" site_id="CH_K">Arirang TV</channel>
|
||||||
|
...
|
||||||
|
</channels>
|
||||||
|
```
|
||||||
|
You can populate his file with the channels from this sites page https://github.com/iptv-org/epg/tree/master/sites
|
||||||
|
|
||||||
|
4. When you start the docker stack the EPG container will do a first run to pull your channels and guide information and then it will stay running according to the default Cron scedule "0 3 * * *"
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">back to top</a>)</p>
|
<p align="right">(<a href="#readme-top">back to top</a>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
39
channels.xml
Normal file
39
channels.xml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<channels>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="BabySharkTV.us" site_id="PlutoTV/us#60faffc3fbbc120007fc4376">Baby Shark TV</channel>
|
||||||
|
<channel site="tvguide.com" lang="en" xmltv_id="DisneyChannelEast.us" site_id="9100001138#9200018475">The Disney Channel (East)</channel>
|
||||||
|
<channel site="tvguide.com" lang="en" xmltv_id="DisneyXDEast.us" site_id="9100001138#9200004852">Disney XD (East)</channel>
|
||||||
|
<channel site="tvtv.us" lang="en" xmltv_id="NickelodeonEast.us" site_id="11006">Nickelodeon East</channel>
|
||||||
|
<channel site="tvtv.us" lang="en" xmltv_id="NickJrEast.us" site_id="19211">Nick Jr East</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="DoraTV.us" site_id="PlutoTV/us#5d14fb6c84dd37df3b4290c5">Dora TV</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="ForeverKids.us" site_id="PlutoTV/us#56171fafada51f8004c4b40f">Forever Kids</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="GarfieldandFriends.us" site_id="PlutoTV/us#60faf9ddfcc1f200070a5932">Garfield and Friends</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="KartoonChannel.us" site_id="PlutoTV/us#60fb040d4795a6000762fe8f">Kartoon Channel!</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="KidsMovieClub.us" site_id="PlutoTV/us#5db0ad56edc89300090d2ebb">Kids Movie Club</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="CampSpoopy.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-6164a963766ab4f9f57e81b1">Camp Spoopy</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="DogtheBountyHunter.us" site_id="PlutoTV/us#5bee1a7359ee03633e780238">Dog the Bounty Hunter</channel>
|
||||||
|
<channel site="tvtv.us" lang="en" xmltv_id="ABCNewsLive.us" site_id="113380">ABC News Live</channel>
|
||||||
|
<channel site="tvtv.us" lang="en" xmltv_id="TheWeatherChannel.us" site_id="11187">The Weather Channel</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="BritBoxMysteries.us" site_id="PlutoTV/us#60f5d389985a0c0007357304">BritBox Mysteries</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/ca#CABC23000056U">Midsomer Murders</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBC2400027NG">Top Gear</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="IGN.us" site_id="SamsungTVPlus/us#USBA30003672">IGN</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBD3300020PM">Sonic The Hedgehog</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/ca#CABC52000039H">Bob the Builder</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/ca#CABC230001363">LEGO Channel</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/ca#CAAJ2700011IF">NBC News NOW</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNews.us" site_id="SamsungTVPlus/us#USBA370000104">CBS News</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBC4400003OU">CBC News International</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBB520002173">Ice Road Truckers</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBD270001633">Hallmark Movies &amp; More</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBB5200019FO">Holiday Movie Favorites by Lifetime</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBD17000117B">MovieSphere</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="ParamountMovieChannel.us" site_id="SamsungTVPlus/us#USAJ26000054W">Paramount Movie Channel</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="HeartlandWebFeed.us" site_id="SamsungTVPlus/us#USBB2900003O3">Heartland</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="TVLandDrama.us" site_id="SamsungTVPlus/us#USBB3500002FL">TV Land Drama</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="TVLandSitcoms.us" site_id="SamsungTVPlus/us#USBA300019WF">TV Land Sitcoms</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBD1700001RW">BBC Earth</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="LoveNature4K.ca" site_id="SamsungTVPlus/us#USBA3400003IP">Love Nature 4K</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBB5200025DO">Modern Marvels Presented by History</channel>
|
||||||
|
<channel site="i.mjh.nz" lang="en" xmltv_id="WeatherSpy.us" site_id="SamsungTVPlus/us#USAJ3400014LK">WeatherSpy</channel>
|
||||||
|
</channels>
|
||||||
Reference in New Issue
Block a user