{"id":27177712,"url":"https://github.com/chrisbenincasa/tunarr","last_synced_at":"2026-04-02T18:56:46.282Z","repository":{"id":217955166,"uuid":"745191044","full_name":"chrisbenincasa/tunarr","owner":"chrisbenincasa","description":"Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin/Emby/NFO","archived":false,"fork":false,"pushed_at":"2026-01-12T21:10:22.000Z","size":51668,"stargazers_count":1913,"open_issues_count":143,"forks_count":57,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-01-13T01:44:01.906Z","etag":null,"topics":["emby","ffmpeg","iptv","jellyfin","local-streaming","media-streaming","plex","self-hosted","streaming","tv"],"latest_commit_sha":null,"homepage":"https://tunarr.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisbenincasa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"chrisbenincasa"}},"created_at":"2024-01-18T20:21:20.000Z","updated_at":"2026-01-12T21:10:30.000Z","dependencies_parsed_at":"2024-01-28T01:55:56.024Z","dependency_job_id":"d8591214-28cb-4128-aad8-85c24052dc32","html_url":"https://github.com/chrisbenincasa/tunarr","commit_stats":null,"previous_names":["chrisbenincasa/tunarr"],"tags_count":192,"template":false,"template_full_name":null,"purl":"pkg:github/chrisbenincasa/tunarr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisbenincasa%2Ftunarr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisbenincasa%2Ftunarr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisbenincasa%2Ftunarr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisbenincasa%2Ftunarr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisbenincasa","download_url":"https://codeload.github.com/chrisbenincasa/tunarr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisbenincasa%2Ftunarr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28595314,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emby","ffmpeg","iptv","jellyfin","local-streaming","media-streaming","plex","self-hosted","streaming","tv"],"created_at":"2025-04-09T14:00:33.179Z","updated_at":"2026-04-02T18:56:46.266Z","avatar_url":"https://github.com/chrisbenincasa.png","language":"TypeScript","funding_links":["https://github.com/sponsors/chrisbenincasa"],"categories":["👾 Companion Apps \u0026 Tools","TypeScript"],"sub_categories":["🧰 Miscellaneous"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./design/tunarr-guide.png\" alt=\"Tunarr TV Guide\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTunarr\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eCreate your own live TV channels from media on Plex, Jellyfin, Emby, or local files.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/chrisbenincasa/tunarr/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/chrisbenincasa/tunarr?style=flat\u0026logo=github\u0026color=lightseagreen\" alt=\"GitHub Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/chrisbenincasa/tunarr\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/chrisbenincasa/tunarr?style=flat\u0026logo=docker\u0026color=lightseagreen\" alt=\"Docker Pulls\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/chrisbenincasa/tunarr/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/chrisbenincasa/tunarr?style=flat\u0026logo=github\u0026color=lightseagreen\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/7tUjBbDxag\"\u003e\u003cimg src=\"https://img.shields.io/discord/1254564006123802805?style=flat\u0026logo=discord\u0026logoColor=white\u0026label=Discord\" alt=\"Discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Zlib-lightseagreen?style=flat\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## What is Tunarr?\n\nTunarr lets you build custom live TV channels out of your existing media libraries — movies, TV episodes, music videos, or local files — and stream them as if they were real broadcast channels.\n\nTune in by adding Tunarr's spoofed HDHomeRun tuner to Plex, Jellyfin, or Emby, or grab the M3U URL for any IPTV player like [Tivimate](https://tivimate.com/) or [UHF](https://www.uhfapp.com/).\n\n## Features\n\n**Media Sources**\n\n- Connect Plex, Jellyfin, Emby, or local file libraries\n- Advanced search, filter, and sort across all connected libraries\n\n**Channel Management**\n\n- Drag-and-drop lineup editor\n- Filler content between programs (commercials, music videos, prerolls, branding)\n- Per-channel logos and automatic configuration backups\n\n**Scheduling**\n\n- Time-slot and random-slot scheduling tools\n- Web-based TV guide for viewing channel lineups\n\n**Playback \u0026 Integration**\n\n- Spoofed [HDHR](https://www.silicondust.com/hdhomerun/) tuner for Plex, Jellyfin, and Emby\n- M3U/IPTV output for [Dispatcharr](https://github.com/Dispatcharr/Dispatcharr), [Threadfin](https://github.com/Threadfin/Threadfin), [xTeVe](https://github.com/xteve-project/xTeVe), or any IPTV client\n- Stream channels directly in the browser\n- Per-channel audio language and subtitle preferences\n\n**Transcoding**\n\n- Hardware-accelerated transcoding: Nvidia NVENC, VAAPI, Intel QuickSync, macOS VideoToolbox\n- Multiple transcode profiles, configurable per channel\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"./design/tunarr-channels.png\" alt=\"Channel Management\"\u003e\u003cbr\u003e\u003cem\u003eChannel Management\u003c/em\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"./docs/assets/channel-properties.png\" alt=\"Channel Configuration\"\u003e\u003cbr\u003e\u003cem\u003eChannel Configuration\u003c/em\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Quick Start\n\nThe easiest way to run Tunarr is with Docker Compose. Create a `docker-compose.yml`:\n\n```yaml\nservices:\n  tunarr:\n    image: chrisbenincasa/tunarr:latest\n    container_name: tunarr\n    ports:\n      - 8000:8000\n    environment:\n      - TZ=America/New_York\n    volumes:\n      - ./tunarr-data:/config/tunarr\n    restart: unless-stopped\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\nTunarr will be available at `http://localhost:8000`.\n\n**Other installation options:**\n\n| Platform                 | Method                                                                        |\n| ------------------------ | ----------------------------------------------------------------------------- |\n| Linux / macOS / Windows  | [Standalone binaries](https://github.com/chrisbenincasa/tunarr/releases)      |\n| Unraid                   | Community App Store                                                           |\n| Proxmox                  | [LXC helper script](https://tunarr.com/getting-started/installation/#proxmox) |\n| ARM (Raspberry Pi, etc.) | Docker image (`linux/arm64`)                                                  |\n\nFor hardware-accelerated transcoding setup, see the [transcoding docs](https://tunarr.com/getting-started/run/).\n\n## Documentation\n\n- [Installation guide](https://tunarr.com/getting-started/installation/)\n- [Creating channels](https://tunarr.com/configure/channels/)\n- [Scheduling tools](https://tunarr.com/configure/scheduling/)\n- [Transcoding configuration](https://tunarr.com/configure/ffmpeg/transcode_config/)\n- [Full documentation](https://tunarr.com/)\n\n## Development\n\n```bash\npnpm i\npnpm turbo dev  # backend at :8000, frontend at :5173/web\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for a full development guide.\n\n## Community\n\n- [Discord](https://discord.gg/7tUjBbDxag) — chat, help, and announcements\n- [GitHub Issues](https://github.com/chrisbenincasa/tunarr/issues) — bug reports and feature requests\n- [GitHub Discussions](https://github.com/chrisbenincasa/tunarr/discussions) — questions and general conversation\n\n## License\n\nTunarr is released under the [Zlib License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisbenincasa%2Ftunarr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisbenincasa%2Ftunarr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisbenincasa%2Ftunarr/lists"}