Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin/Emby/NFO
Find a file
Christian Benincasa 5570631adc
Packaging v0: Build and run server in a docker container (#139)
* This is a nightmare

* Checkpointing.... getting closer

* First cut - packaging the server in a docker container

* Remove busted bundles

* Minify build

* Some common commands for building - we're going to look into proper monorepo solutions soon

* Remove dependency on serve-static

* Add web serving, full-stack docker target, and Nvidia container support

* Remove test action graph for now
2024-03-05 13:13:26 -05:00
.github/workflows Create install.yml 2023-11-17 13:44:29 -05:00
docs Update readme screenshots 2020-08-11 18:43:14 -04:00
old Move legacy web interface under 'old' directory for archival (for now) 2024-01-25 22:58:10 -05:00
resources Customizable style.css 2021-03-21 18:12:19 -04:00
server Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
shared Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
types Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
web2 Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
.dockerignore Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
.eslintrc.cjs Added eslint...omg 2023-11-03 09:40:16 -04:00
.gitignore Style settings pages (#2) 2024-01-12 14:42:01 -05:00
.prettierrc Start setting up v0 of the new web stack 2023-11-09 18:09:34 -05:00
BREAKING_CHANGES.md Remove diskdb 2023-11-01 13:22:27 -04:00
build.Dockerfile Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-08-14 22:49:22 -04:00
LICENSE dizqueTV license 2020-09-24 18:49:41 -04:00
nvidia.Dockerfile Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
package.json Massive refactoring - introduce package for common code between 2024-01-25 22:55:19 -05:00
pnpm-lock.yaml Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
pnpm-workspace.yaml Packaging v0: Build and run server in a docker container (#139) 2024-03-05 13:13:26 -05:00
pull_request_template.md PR template 2021-05-30 23:32:42 -04:00
README.md Connect Settings to DB (#5) 2024-01-23 16:26:48 -05:00

Tunarr

Create live TV channel streams from media on your Plex servers.

This is a fork of dizqueTV (which in itself was a fork of other projects!). We have the following goals:

  • Modernize the stack, both backend and frontend
  • Provide an migration path for existing users
  • Modernize and "prettify" the Web UI
  • Minimize breaking changes
  • Add great new features

Configure your channels, programs, commercials and settings using the Tunarr web UI.

Access your channels by adding the spoofed Tunarr HDHomerun tuner to Plex, Jellyfin or emby or utilize the M3U Url with any 3rd party IPTV player app.

EPG (Guide Information) data is stored to .tunarr/xmltv.xml

Features

  • A wide variety of options for the clients where you can play the TV channels, since it both spoofs a HDHR tuner and a IPTV channel list.
  • Ease of setup for xteve and Plex playback by mocking a HDHR server.
  • Configure your channels once, and play them just the same in any of the other devices.
  • Customize your channels and what they play. Make them display their logo while they play. Play filler content ("commercials", music videos, prerolls, channel branding videos) at specific times to pad time.
  • Docker image and prepackage binaries for Windows, Linux and Mac.
  • Supports nvidia for hardware encoding, including in docker.
  • Select media (desired programs and commercials) across multiple Plex servers
  • Includes a WEB TV Guide where you can even play channels in your desktop by using your local media player.
  • Subtitle support.
  • Auto deinterlace any Plex media not marked "scanType": "progressive"
  • Can be configured to completely force Direct play, if you are ready for the caveats.

Limitations

  • If you want to play the TV channels in Plex using the spoofed HDHR, Plex pass is required.
  • Tunarr does not currently watch your Plex server for media updates/changes. You must manually remove and re-add your programs for any changes to take effect. Same goes for Plex server changes (changing IP, port, etc).. You'll have to update the server settings manually in that case.
  • Most players (including Plex) will break after switching episodes if video / audio format is too different. Tunarr can be configured to use ffmpeg transcoding to prevent this, but that costs resources.
  • If you configure Plex DVR, it will always be recording and transcoding the channel's contents.

Releases

Wiki

  • For setup instructions, check the wiki

Development

pnpm is used for package management and development

Start dev servers

Run from the root of the project:

pnpm run --parallel dev

Contribute

License

  • The original dizqueTV is released under zlib license (c) 2020 Victor Hugo Soliz Kuncar: we've kept this