Nodecast TV

Stream Live TV, Movies and Series from your Xtream Codes or M3U provider, right in your browser.

  • ghcr.io/technomancer702/nodecast-tv:2.2.1
  • port 6112
  • Media
Nodecast TV screenshot 1Nodecast TV screenshot 2

Web App

/
http://localhost:6112/

Nodecast TV is a self-hosted, web-based IPTV player for Live TV, an interactive EPG, and VOD Movies and Series. It is a lightweight Xtream Codes / M3U client built for large libraries and smooth playback.

Features

  • Live TV with fast channel zapping, category grouping and search
  • Interactive EPG grid guide with a 24h timeline and search
  • Movies and Series sections with posters and episode lists
  • Favorites for channels, movies and series
  • Admin and viewer accounts, plus optional OIDC single sign-on
  • Hardware-accelerated transcoding (NVIDIA, AMD, Intel QuickSync, VAAPI)
  • 5.1 to stereo audio downmix presets

How to use

  1. Open Nodecast TV from your dashboard.
  2. Create your admin account.
  3. Go to Settings, Content Sources and add your Xtream Codes or M3U provider.
  4. Click "Refresh Sources" to load channels, movies and series.
  5. Change transcoding and audio settings anytime under Settings, Transcoding.

Before you install

Nothing needs to be set first. Create your admin account right after install. For single sign-on, add the OIDC_* settings from the Variables tab in the app settings; new SSO users start as viewers and an admin has to promote them. Behind an HTTPS reverse proxy, forward the X-Forwarded-Proto header. Hardware transcoding needs your GPU device added to the container in the app settings.

The settings in the first table are already in the app settings. To use any other one, open the app settings, add the variable with your value, save, and the app restarts with it. A setting you leave out uses its default.

In the app settings

VariableDefault valueDescription
TZ$TZYour time zone. ZimaOS fills this in for you.
NODE_ENVproductionRuns the app in production mode. Do not change.

Sign in with OIDC

VariableDefault valueDescription
OIDC_ISSUER_URL—The issuer URL of your OIDC provider (Authentik, Keycloak and others). Copy it exactly, with any trailing slash.
OIDC_CLIENT_ID—The client ID your provider gave Nodecast TV.
OIDC_CLIENT_SECRET—The client secret your provider gave Nodecast TV.
OIDC_CALLBACK_URL—Where your provider sends people back after sign-in, like http://192.168.1.10:6112/api/auth/oidc/callback.

Reverse proxy

VariableDefault valueDescription
APP_ORIGIN—The outside address when Nodecast TV is behind a reverse proxy, like https://tv.example.com.
TRUST_PROXY—The IP or CIDR of a reverse proxy that is not on your local network. Local and private networks are trusted already.
AUTH_COOKIE_SECURE—Set to true to force secure cookies when HTTPS ends at your proxy.

Sources

VariableDefault valueDescription
ALLOW_LOCAL_MEDIA_URLSfalseSet to true to allow providers on localhost.
docker-compose.yml
name: nodecast-tv

services:
  nodecast-tv:
    image: ghcr.io/technomancer702/nodecast-tv:2.2.1
    container_name: nodecast-tv
    restart: unless-stopped
    stop_grace_period: 40s
    network_mode: bridge
    environment:
      - TZ=$TZ
      - NODE_ENV=production
    ports:
      - target: 3000
        published: "6112"
        protocol: tcp
    volumes:
      - type: bind
        source: /DATA/AppData/$AppID
        target: /app/data
        bind:
          create_host_path: true
    deploy:
      resources:
        limits:
          cpus: "2.00"
          memory: 2048M
        reservations:
          cpus: "0.25"
          memory: 256M
    labels:
      icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/nodecast-tv/icon.png
    x-casaos:
      id: com.icestore.nodecast-tv
      envs:
        - container: TZ
          description:
            en_US: Your time zone. ZimaOS fills this in for you.
        - container: NODE_ENV
          description:
            en_US: Runs the app in production mode. Do not change.
      ports:
        - container: "3000"
          description:
            en_US: Web UI and API, published on host as 6112.
      volumes:
        - container: /app/data
          description:
            en_US: SQLite database, playlists, favorites and app settings.

x-casaos:
  id: com.icestore.nodecast-tv
  architectures:
    - amd64
    - arm64
  main: nodecast-tv
  author: HSinghHira
  category: Media
  developer: technomancer702
  icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/nodecast-tv/icon.png
  thumbnail: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/nodecast-tv/screenshot-1.png
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/nodecast-tv/screenshot-1.png
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/nodecast-tv/screenshot-2.png
  title:
    en_US: Nodecast TV
  tagline:
    en_US: Stream Live TV, Movies and Series from your Xtream Codes or M3U provider, right in your browser.
  description:
    en_US: >-
      Visit: [https://icestore.hsinghhira.me/app/nodecast-tv/](https://icestore.hsinghhira.me/app/nodecast-tv/) for full details


      Nodecast TV is a self-hosted, web-based IPTV player for Live TV, an
      interactive EPG, and VOD Movies and Series. It is a lightweight Xtream
      Codes / M3U client built for large libraries and smooth playback.


      **Features**


      - Live TV with fast channel zapping, category grouping and search

      - Interactive EPG grid guide with a 24h timeline and search

      - Movies and Series sections with posters and episode lists

      - Favorites for channels, movies and series

      - Admin and viewer accounts, plus optional OIDC single sign-on

      - Hardware-accelerated transcoding (NVIDIA, AMD, Intel QuickSync,
        VAAPI)

      - 5.1 to stereo audio downmix presets


      **How to use?**


      1. Open Nodecast TV from the Zima OS dashboard.


      2. Create your admin account.


      3. Go to Settings, Content Sources and add your Xtream Codes or M3U
         provider.


      4. Click "Refresh Sources" to load channels, movies and series.


      5. Change transcoding and audio settings anytime under Settings,
         Transcoding.
  tips:
    before_install:
      en_US: >-
        Visit: [https://icestore.hsinghhira.me/app/nodecast-tv/](https://icestore.hsinghhira.me/app/nodecast-tv/) for full details
  index: /
  port_map: "6112"
  scheme: http
  is_uncontrolled: false
  version: "2.2.1"
  update_at: "2026-10-25"
  release_notes:
    en_US: |-
      - Moved to IceStore. Port changed from 8413 to 6112.
      - Removed PORT from the compose file; the app already listens on 3000.
      - OIDC single sign-on settings moved to the Variables tab on the IceStore website.
      - Pinned the image to 2.2.1 instead of latest.
  repo: "https://github.com/technomancer702/nodecast-tv"
  support: "https://github.com/technomancer702/nodecast-tv/issues"
  docs: "https://github.com/technomancer702/nodecast-tv/blob/main/README.md"