Xteve
Latest Dockerized xTeVe v2.2.x IPTV proxy with Guide2go, zap2XML, Crond & Perl Support.
Install / Use
/learn @dnsforge-repo/XteveREADME
Image Maintainer: <b>LeeD </b><hostmaster@dnsforge.com></a>
<br> <h2>Buy us a Frosty Beverage!!</h2><a href="https://www.paypal.com/donate/?hosted_button_id=9YFANKSM3FW58"><img src="https://raw.githubusercontent.com/xteve-repo/images/master/dnsforge_QR.png"></a> <p><b>If you enjoy our docker image and would like to buy us a beer, well.. we're not going to stop you!! <a href="https://www.paypal.com/donate/?hosted_button_id=9YFANKSM3FW58"><b>click here</b></b></p> <br> <br>For support click <b>below</b> to visit our xTeVe <b>Discord</b> server:
<a href="https://discord.gg/Up4ZsV6"><img alt="Discord" src="https://img.shields.io/discord/465222357754314767?color=%2367E3FB&style=for-the-badge"></a>
<br> <br> <h2 id="description">Description</h2>xTeVe is a M3U proxy server for Plex, Emby and any client and provider which supports the .TS and .M3U8 (HLS) streaming formats.
<p>xTeVe emulates a SiliconDust HDHomeRun OTA tuner, which allows it to expose IPTV style channels to software, which would not normally support it. This Docker image includes the following packages and features: <br> <br> <h2 >Docker 'run' Configuration & container mappings</h2>The recommended <b>default</b> container settings are listed in the docker run command listed below:
<p><b> docker run -it -d --name=xteve --network=host --restart=always -v $PATH/xteve:/home/xteve/conf dnsforge/xteve:latest</b></p> <br> <br> <h2 >Isolated (bridge) mode</h2> <p>To isolate the container in bridge mode use 'docker run' as follows. **Only use bridge mode if you fully understand its use** Generally for most users we recommend host mode. <br>In bridge mode the docker container will assign it's own dockernet ip address (usually in the 172.17.x network).</p>
<p><b>docker run -it -d --name=xteve -p 34400:34400 --restart=always -v $PATH/xteve:/home/xteve/conf dnsforge/xteve:latest</b></p> <br> <br> <h2 >Docker 'run' Configuration with Guide2go</h2>If you plan to use guide2go simply, include the GUIDE2GO Volume to be able to access your files directly from the host. Existing users can also copy their existing <b>.yaml</b> configuration files in to this location.
<p><b>docker run -it -d --name=xteve --network=host --restart=always -v $PATH/xteve:/home/xteve/conf -v $PATH/guide2go:/home/xteve/guide2go/conf dnsforge/xteve:latest</b></p> <br>The default Locale is configured as: <b>America/New_York (EST) </b> and the Web UI can be accessed at <b>http://$HOST_IP:34400/web/ </b>
<br> <br> <h2 >Custom Configuration</h2>You can customize the container installation by passing options with <b> 'docker run'</b> or by selecting the "Environment" tab in your docker GUI. Below are a few examples of customizing the container configuration. Please see the "Parameters" table below for a list of all supported options.
Custom Locale (Timezone):
<p><b> docker run -it -d --name=xteve --network=host --restart=always -e TZ=Europe/London -v $PATH/xteve:/home/xteve/conf dnsforge/xteve:latest</b></p>Custom Port and Locale:
<p><b> docker run -it -d --name=xteve --network=host --restart=always -e TZ=Europe/London -e XTEVE_PORT=8080 -v $PATH/xteve:/home/xteve/conf dnsforge/xteve:latest</b></p> <br> <h2>Default container paths</h2>This container is configured with the following default environmental variables, for reference, here are the paths of the xTeVe installation:
<table class="paleBlueRows"> <thead> <tr> <th>Variable</th> <th>Path</th> </tr> </thead> <tfoot> <tr> <td> </td> <td> </td> </tr> </tfoot> <tbody> <tr> <td>$XTEVE_HOME</td> <td>/home/xteve</td> </tr> <tr> <td>$XTEVE_BIN</td> <td>/home/xteve/bin</td> </tr> <tr> <td>$XTEVE_CONF</td> <td>/home/xteve/conf</td> </tr> <tr> <td>$XTEVE_CONF/data</td> <td>/home/xteve/conf/data</td> </tr> <tr> <td>$XTEVE_CONF/backup</td> <td>/home/xteve/conf/backup</td> </tr> <tr> <td>$GUIDE2GO_HOME</td> <td>/home/xteve/guide2go</td> </tr> <tr> <td>$GUIDE2GO_CONF</td> <td>/home/xteve/guide2go/conf</td> </tr> </tbody> </table> <br> <h2 id="parameters">Parameters</h2> <table class="paleBlueRows"> <thead> <tr> <th>Parameter</th> <th>Description</th> </tr> </thead> <tfoot> <tr> <td> </td> <td> </td> </tr> </tfoot> <tbody> <tr> <td>--name</td> <td>Name of container image</td> </tr> <tr> <td>--network</td> <td>Set network type [ host | bridge ]</td> </tr> <tr> <td>--restart</td> <td>Enable auto restart for this container</td> </tr> <tr> <td>-e TZ=Europe/London</td> <td>Set custom Locale</td> </tr> <tr> <td>-p 34400</td> <td>Default container port mapping [ 127.0.0.1:34400:34400 ]</td> </tr> <tr> <td>-e XTEVE_PORT=8080</td> <td>Set custom xTeVe Port</td> </tr> <tr> <td>-e XTEVE_BRANCH=beta</td> <td>Set xTeVe git branch [ master|beta ] Default: master </tr> <tr> <td>-e XTEVE_DEBUG=1</td> <td>Set xTeVe debug level [ 0-3 ] Default: 0=OFF</td> </tr> <tr> <td>-e XTEVE_API=0</td> <td>Enable/Disable API [ beta ] Default: 1=ON</td> </tr> <tr> <td>-e GUIDE2GO_SERVER_HOST=10.0.0.1</td> <td>Guide2go Token server [ host | ip ] </td> </tr> <tr> <td>-e GUIDE2GO_SERVER_PORT=31337</td> <td>Guide2go Token port [ port ] </td> </tr> <tr> <td>-v</td> <td>Set volume mapping [ -v ~xteve:/home/xteve/conf ]</td> </tr> <tr> <td>dnsforge/xteve:latest</td> <td>Latest Docker image</td> </tbody> </table> <br> <br> <h2 >Linux Shell (Bash)</h2> To connect to the xTeVe container to run local commands, use the following docker command to start a bash shell: <p><b>docker exec -it < container_name > /bin/bash</b></p>You will automatically be logged in as the root user. Type <b>"su - xteve"</b> to change to the xTeve user.
<br> <br> <h2 >Linux</h2>Run the container with the 'docker run' command with any desired parameters from the table above.
<p><b>mkdir -p $PATH/xteve</b> <p><b>docker run -it -d --name=xteve --network=host --restart=always -v $PATH/xteve:/home/xteve/conf dnsforge/xteve:latest</b> <br> <br> <p>Linux with Guide2go:</p> <p><b>mkdir -p $PATH/xteve</b> <p><b>mkdir -p $PATH/guide2go</b> <p><b>docker run -it -d --name=xteve --network=host --restart=always -v $PATH/xteve:/home/xteve/conf -v $PATH/guide2go:/home/xteve/guide2go/conf dnsforge/xteve:latest</b> <br> <br> <h2 >Synology</h2>Run the container with the 'docker run' command with any desired parameters from the table above. Alternatively you can launch this image in the Synology Docker GUI which is equivalent to 'docker run'.
<p><b>mkdir /volume1/docker/xteve</b> <p><b>docker run -it -d --name=xteve --network=host --restart=always -v /volume1/docker/xteve:/home/xteve/conf dnsforge/xteve:latest</b> <br> <br> <p>Synology with Guide2go:</p> <p><b>mkdir /volume1/docker/xteve</b> <p><b>mkdir /volume1/docker/guide2go</b> <p><b>docker run -it -d --name=xteve --network=host --restart=always -v /volume1/docker/xteve:/home/xteve/conf -v /volume1/docker/guide2go:/home/xteve/guide2go/conf dnsforge/xteve:latest</b> <br> <br> <h2 id="Guide2go Configuration">Guide2go Configuration</h2> <p>To use this feature you will need to purchase a <a href="http://www.schedulesdirect.org">Schedules Direct</a> subscription for $25.00/yr. You can configure your guide2go lineup using the following command:</p <p><b>guide2conf</b> <b>--username</b> < username > <b> --password</b> < password ><b> --max-days</b> < max_days [1-14] > <b>--name</b> < lineup_name ></p> <p>When prompted configure your lineup and channels using these options:</p> <br> <br> <p><b>Select "2. Add lineup" from the menu</b></p>Choose Country
Choose Postcode
Choose Provider
<br> <br> <p><b>Select "4. Manage channels" from the menu</b></p>Choose "ALL" for your selected lineup.
<p> <b> NOTE: We do NOT recommend adding more than (1) Lineup to a single configuration file. If you want to run multiple lineups, follow the directions below for "Additional Guide2go Lineups".</b></p> <p>Choose "0" to exit and then follow the prompts to run the initial lineup and automatically add a cron job to automate the guide2go data download..</p> <br> <br> <h2 id="Guide2go Crontab">Guide2go Crontab</h2>You can now use the new <b>guide2conf</b> command line utility to automatically create a daily cron job. Alternatively you can manually modify the crontab by running <b>'crontab -e -u xteve'</b> from a command prompt inside the container. You will need to add the guide2go XMLTV file located in <b>$XTEVE_CONF/data/guide2go.xml</b> to <b>xTeVe->XMLTV</b> in the xTeVe UI once it has been generated on the first run.
<br> <p><b>Manual crontab configuration:</b></p> <p><b># Run Schedules Direct crontab daily at 1:15 AM EST</b></p> <p><b>15 1 * * * /home/xteve/bin/guide2conf --config /home/xteve/guide2go/conf/< lineup_name >.yaml</b></p> <br> <br> <h2 id="Additional Guide2go Lineups">Additional Guide2go Lineups</h2>You can have up to (4) separate guide2go lineups with one SD subscription. If you choose to create additional lineups we recommend you create separate guide2go configuration (YAML) files for each one. We also recommend staggering the lineup cron times, as Schedules Direct does limit how many concurrent connections you can have to their API at any one time. Follow the following steps to create additional lineups and crons.
<br> <p><b>guide2conf</b> <b>--username</b> < username > <b>--password</b> < password ><b> --max-days</b> < max_days [1-14] > <b>--name</b> < lineup_name ></p> <br> <br> <p><b>Select "2. Add lineup" from the menu</b></p>Choose Country
Choose Postcode
Choose Provider
<br> <br> <p><b>Select "4. Manage channels" from the menu</b></p>Choose "NONE" for your original lineup
Choose "ALL" for your new lineup
Choose "0" to exit
<br>The YAML file will now be writt
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
339.3kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
sonoscli
339.3kControl Sonos speakers (discover/status/play/volume/group).
