feat: new button to upper-right side of header which allows you to force re-sync your m3u and xml data.
+
feat: new api endpoint /api/resync; utilized to resync M3U and EPG data
+
feat: new api endpoint /api/health; utilized in your docker-compose.yml health check
+
feat: new env variable WEB_ENCODING; allows you to customize the HTTP Accept-Encoding request and response header
+
feat: new env variable IP_GATEWAY; stores assigned container gateway ip
+
feat: new env variable IP_CONTAINER; stores assigned container ip
+
refactor: env variables re-named
+
FILE_TAR → FILE_GZP
+
+
+
refactor: errors and success messages now use api endpoint; lists timestamp, error code, etc.
+
build: bump bootstrap from v4 to v5
+
fix: bug in Jellyfin which caused EPG data syncing to error out for hosts which cannot support gzip compression
+
Error: [ERR] [27] Jellyfin.LiveTv.Guide.GuideManager: Error getting programs for channel XXXXXXXXXXXXXXX (Source 2) System.Xml.XmlException: '', hexadecimal value 0x1F, is an invalid character. Line 1, position 1.
The URL_REPO environment variable allows you to specify what Github repo is used to communicate
-with in order to fetch IPTV data. This is used as an internal environment variable by the developers
-and should not be changed by the end-user; otherwise you will be unable to fetch IPTV data.
The WEB_ENCODING environment variable allows you to customize the HTTP Accept-Encoding request and response header. This value specifies what content encoding the sender can understand when sending these requests.
+
Most users will not need to modify this value unless you are running Jellyfin and receive the following error when attempting to sync EPG data between Jellyfin and the TVApp2 container:
+
+
Jellyfin Error
+
[ERR] [27] Jellyfin.LiveTv.Guide.GuideManager: Error getting programs for channel
+XXXXXXXXXXXXXXX (Source 2) System.Xml.XmlException: '', hexadecimal value 0x1F,
+is an invalid character. Line 1, position 1.
+
+
+
If you receive the above error and you have already customized this environment variable to include gzip, you must remove it from your accepted encoders string to fix the error.
+
+
+
docker-compose.yml
1 2 3
@@ -1390,20 +1495,10 @@ by the TVApp2 docker container when the container builds the app.
-./config:/config-./app:/usr/bin/appenvironment:
--DIR_BUILD=/usr/src/app# (1)
+-WEB_ENCODING:'gzip,deflate,br'
-
-
You should not change this unless you are an advanced user.
The DIR_RUN environment variable specifies what local folder will be utilized
-by the TVApp2 docker container when the container has built the app and placed it
-into a production folder.
+
+
docker-compose.yml
1 2 3
@@ -1428,23 +1523,20 @@ into a production folder.
-./config:/config-./app:/usr/bin/appenvironment:
--DIR_RUN=/usr/bin/app# (1)
+-WEB_ENCODING:'deflate,br'
-
-
You should not change this unless you are an advanced user.
The URL_REPO environment variable allows you to specify what Github repo is used to communicate
+with in order to fetch IPTV data. This is used as an internal environment variable by the developers
+and should not be changed by the end-user; otherwise you will be unable to fetch IPTV data.
docker-compose.yml
1 2 3
@@ -1469,22 +1561,20 @@ be used when you initiate a new channel to view.
-./config:/config-./app:/usr/bin/appenvironment:
--STREAM_QUALITY=hd# (1)
+-URL_REPO=https://git.binaryninja.net/binaryninja# (1)
-
This environment variable has the following options:
-
hd
-
sd
-
-
+
It is highly recommended that you do not change this value
+ otherwise you will not be able to download the latest M3U playlists
+ and EPG guide data.
The FILE_URL environment variable allows you to specify what the name of the downloaded urls.txt cache file. This file is downloaded when you first spin up the TVApp2 container.
+
There should be no need to utilize this environment variable unless you have a specific reason.
docker-compose.yml
1 2 3
@@ -1509,19 +1599,19 @@ your .m3u playlist file is generated.
-./config:/config-./app:/usr/bin/appenvironment:
--FILE_PLAYLIST=playlist.m3u8# (1)
+-FILE_URL=urls.txt# (1)
-
Changing this file only changes the filename locally; it does
- not affect the server-side fetching mechanism.
+
There is really no reason to modify this environment variable
+ unless you have a specific purpose.
The FILE_EPG environment variable specifies the filename that will be utilized when
-your .xml EPG playlist file is generated.
+playlist.m3u8
+
The FILE_M3U environment variable allows you to specify what the name of the downloaded playlist.m3u8 file will be. This file is downloaded when you first spin up the TVApp2 container, and contains a list of what channels you can pick from.
+
There should be no need to utilize this environment variable unless you have a specific reason.
docker-compose.yml
1 2 3
@@ -1546,19 +1636,19 @@ your .xml EPG playlist file is generated.
-./config:/config-./app:/usr/bin/appenvironment:
--FILE_EPG=xmltv.xml# (1)
+-FILE_M3U=playlist.m3u8# (1)
-
Changing this file only changes the filename locally; it does
- not affect the server-side fetching mechanism.
+
There is really no reason to modify this environment variable
+ unless you have a specific purpose.
The FILE_GZIP environment variable specifies the filename that will be utilized when
-a compressed .gzip is generated and when you download the file.
+xmltv.xml
+
The FILE_EPG environment variable specifies the filename that will be utilized when
+your .xml EPG playlist file is generated.
docker-compose.yml
1 2 3
@@ -1583,23 +1673,19 @@ a compressed .gzip is generated and when you download the file.
-./config:/config-./app:/usr/bin/appenvironment:
--FILE_GZIP=xmltv.xml.gz# (1)
+-FILE_EPG=xmltv.xml# (1)
-
Changing this file only changes the filename locally for
- generation and downloading. It does not affect the server-side fetching
- mechanism.
+
Changing this file only changes the filename locally; it does
+ not affect the server-side fetching mechanism.
The LOG_LEVEL environment variable allows you specify how deep logs should go
-when being output to your console.
-
-
-
+xmltv.xml.gz
+
The FILE_GZIP environment variable specifies the filename that will be utilized when
+a compressed .gzip is generated and when you download the file.
docker-compose.yml
1 2 3
@@ -1624,7 +1710,168 @@ when being output to your console.
-./config:/config-./app:/usr/bin/appenvironment:
--LOG_LEVEL=4# (1)
+-FILE_GZIP=xmltv.xml.gz# (1)
+
+
+
Changing this file only changes the filename locally for
+ generation and downloading. It does not affect the server-side fetching
+ mechanism.
The DIR_RUN environment variable specifies what local folder will be utilized
+by the TVApp2 docker container when the container has built the app and placed it
+into a production folder.
The TZ environment variable specifies the timezone that your docker container will
-utilize. This is useful for syncing your local time with console outputs such as
-our logging system.
The mountable volume /usr/bin/app is where TVApp2 files will be placed once the app has been built when your docker container spins up. The files in this folder include:
+
+
+
+
File
+
Description
+
+
+
+
+
📁 node_modules
+
List of all NodeJS packages utilized by TVApp2
+
+
+
📁 www
+
Main storage folder for TVApp2. Contains website files and M3U / EPG synced files
The mountable volume /config defines where the TVApp2 application will store SSL certificates related to the TVApp2 web interface being ran using https instead of http. The files in this folder include: