selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

cabernet logo

Self-host cabernet

0.9.16.02

IPTV stream management platform with plugin support

BetaOpen SourceMIT
Updated7 months ago
LanguagePython
Setup difficultyModerate
Stars
379
Ports
6077 (Web UI), 5004 (Stream port), 1900 (SSDP discovery (if enabled)), 65001 (HDHomeRun emulation (if enabled))
Requires
Ffmpeg, Ffprobe
Docker
ghcr.io/cabernetwork/cabernet
Install with Docker
Cabernet web interface screenshot

What is cabernet?

Cabernet is a modular IPTV appliance that cleans, organizes, and repackages streaming content for consumption by media servers. It supports multiple plugin instances for providers including Pluto TV, XUMO, and M3U/XMLTV sources. The software merges EPG data, manages channels with filtering and renaming, and streams via FFmpeg or internal proxy. It presents M3U and HDHomeRun interfaces compatible with TVheadend, Emby, Jellyfin, Plex, and VLC. Cabernet runs on Python 3.10+ with minimal dependencies (cryptography, httpx, optional streamlink, ffmpeg) and is deployed via Docker, docker-compose, or direct Python execution. The project is actively maintained with recent releases and MIT licensing.

Should you self-host cabernet?

cabernet scores 46/100 on selfhost.directory (how scoring works) and ranks #78 of 118 in Media Server. It has 379 GitHub stars.

It shipped 7 stable releases in the past year. The latest, 0.9.16.02, came out on 13 March 2026. New versions land roughly every 3 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 744 stars). It scores higher overall, so compare the two before you pick. See cabernet vs Jellyfin side by side.

Features

  • Adjustable tuners
  • ATSC stream correction
  • Backup and Restore
  • Channel Management
  • EPG Management
  • HDHomeRun Emulation
  • M3U playlist output
  • Multiple plugin instances
  • Plugin Architecture
  • SSDP DiscoveryOptional, enabled via configuration
  • Stream filtering

cabernet README

How to install cabernet

Install cabernet with Docker

Docker Engine

docker run -d
--name=cabernet
-e PUID=1000 #optional
-e PGID=1000 #optional
-e TZ=Etc/UTC #optional
-p 6077:6077
-p 5004:5004
-v /path/to/cabernet/data:/app/data #optional
-v /path/to/plugins_ext:/app/plugins_ext #optional
-v /path/to/cabernet/secrets:/app/.cabernet #optional
--restart unless-stopped
ghcr.io/cabernetwork/cabernet:latest

Supports x86-64 and arm64 architectures

How to configure cabernet

  • PGID1000Group ID for file permissions

    Group ID for file permissions

  • PUID1000User ID for file permissions

    User ID for file permissions

  • TZEtc/UTCTimezone (e.g., Etc/UTC)

    Timezone (e.g., Etc/UTC)

    values: IANA timezone database entries

cabernet releases & version history

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…