CasaZapp TV

Your own TV player,
on your own server.

CasaZapp TV gives you the best set-topbox experience you want. It runs on docker, so your channel lists, favourites, recordings and watch history stay with you in sync across all your devices.

Free without any ads.

CasaZapp TV on a television and a phone

Everything a TV at home needs

Live TV with a guide

Zap with the remote, see what's on now and next, search channels and programmes across the whole guide.

Films and series

Browse what your provider offers, continue where you stopped on any screen, keep a watchlist.

Pause and record

Pause live TV and pick it up later. Record a programme from the guide, or a set time; it plays back without a provider connection.

Profiles

Everyone at home gets their own favourites, lists, history and watchlist, with a PIN if you like and limits for the kids.

Knows your connections

Your provider allows a number of streams. CasaZapp TV counts them, asks before taking one over, and shows who's watching what.

Works without the server too

The Android app can also run standalone, with a playlist on the device. Handy on the road.

One player on every screen

The same look and the same buttons on the TV, the phone, the tablet and the web.

Home: continue watching, favourites, recently watched. The guide, with search. The player and its controls. Films and series.

How it works

  1. 1

    Run the server

    One Docker container on a NAS, a small Linux box or a Raspberry Pi. It keeps your playlists, fetches the guide and records.

  2. 2

    Add your playlist

    Sign in from a browser and add your Xtream or M3U playlist. Pick the channels and categories you want.

  3. 3

    Pair your screens

    Install the app on your Google TV or Android phone and pair it with a code. Or just use the web app.

With or without a server

The Android app also works on its own, with a playlist on the device. A server adds the rest.

App without a serverWith a server
Live TV, films and series ✓ ✓
Guide Xtream only Xtream and M3U
Favourites This device only On all your screens
Continue watching and watchlist This device only On all your screens
Own channel lists – ✓
Choose, order and fix channels and logos – ✓
Search the whole guide – ✓
Pause live TV and record – ✓
Profiles with a PIN and limits – ✓
Keeps track of your provider's connections – ✓
See and stop what's playing on other screens – ✓
Provider login kept in one place On every device On your server
Web app in the browser – ✓

Install

The server is a single docker-compose.yml. Just make sure you have enough space available for recordings.

Server guide →
Android app guide →

# CasaZapp TV server. See docs/server.md for what each line does.
services:
  casazapp-tv:
    image: ghcr.io/quadnl/casazapp-tv:latest
    container_name: casazapp-tv
    ports:
      - "8080:8080"
    environment:
      TZ: Europe/Amsterdam
      RECORDINGS_DIR: /recordings
      CACHE_DIR: /cache
      # Behind a reverse proxy (Nginx Proxy Manager, Caddy, Traefik):
      # TRUST_PROXY: "true"
    volumes:
      - ./data:/data
      - ./recordings:/recordings
      - ./cache:/cache
    restart: unless-stopped

Questions

Does it come with channels?

No. CasaZapp TV is a player. You add a playlist from a provider you pay for, or from a legal free source.

Can I try it without a subscription?

Yes. Add the demo playlist from this repository (demo/playlist.m3u) — made-up channels with a test video and a guide.

Which devices does the app run on?

Google TV, Chromecast with Google TV, Android TV boxes, and Android phones and tablets. Everything else uses the web app in the browser.

Does my stream go through the server?

By default the server passes the stream on, which works everywhere. The app can also play straight from the provider, so the stream skips your server.

Is it open source?

No. The app and the server are free to use at home; the source code is not public.