Self-Hosted

The IPTV admin platform
built for the modern web

Sailfin replaces legacy PHP/Ministra stacks with a fast, type-safe, Docker-native platform. Manage channels, EPG, DVR, subscribers, and stream health — all from a single, polished dashboard.

localhost:5173/admin/channels
Sailfin channel management dashboard
Built on
bun Bun · Vue 3 · Go · PostgreSQL · Docker · TypeScript

Everything you need, nothing you don't

A purpose-built dashboard for IPTV operators — channel management, live telemetry, subscriber control, and infrastructure at your fingertips.

Channel Management

Organize your lineup with full control over channel numbers, logos, genres, and HD badges. Import/export via CSV, toggle channels active or inactive, and monitor health status at a glance.

  • Bulk import/export via CSV
  • Genre tagging and filtering
  • Per-channel DVR access control
  • Multiple stream sources with failover
sailfin/admin/channels
Channel management

Electronic Program Guide

Automated EPG sync via Schedules Direct. Map your channels to lineup data, configure lookahead days, and export standard XMLTV for third-party apps.

  • Schedules Direct integration
  • Configurable 1–14 day lookahead
  • Per-channel time offset support
  • XMLTV export for player apps
sailfin/admin/epg
EPG management

DVR & Recording Management

Full DVR pipeline — schedule recordings from program guide data, track recording status in real time, and manage storage across all subscribers from one view.

  • Per-subscriber recording schedules
  • Status tracking: scheduled, recording, completed, failed
  • Configurable expiration and cleanup
  • Signed playback URLs
sailfin/admin/dvr
DVR management

Subscriber Management

Create and manage subscriber accounts, assign them to channel plans, track device registrations, and monitor account status — all without touching the database.

  • Flexible plan-based channel access
  • Device registration tracking
  • Active session monitoring
  • Account activation and expiry
sailfin/admin/subscribers
Subscriber management

Stream Health Monitoring

Automatic health checks every 5 minutes across all stream sources. See healthy, degraded, and down streams at a glance so you can fix issues before subscribers notice.

  • 5-minute automated health checks
  • Consecutive failure tracking
  • Per-source degradation detection
  • Real-time status dashboard
sailfin/admin/stream-health
Stream health monitoring

Viewer Analytics

Real-time viewership data alongside historical trends. See who's watching what, on which device, and drill into per-subscriber or per-channel stats.

  • Live viewer count by channel
  • Recent session history
  • Buffer rate and bitrate telemetry
  • Daily rollup aggregates
sailfin/admin/stats
Analytics dashboard

Worker & Stream Infrastructure

Register and monitor your Go-based FFmpeg worker nodes. Workers self-register, send heartbeats, and claim recording jobs — giving you a distributed transcoding fleet without manual orchestration.

  • Self-registering Go worker nodes
  • Real-time heartbeat monitoring
  • Tag-based stream routing
  • Managed stream configuration
sailfin/admin/workers
Worker management

Everything runs automatically

Background jobs handle the operational work. You configure; Sailfin executes.

Channel & Genre Management

Full CRUD for channels, logos, genre tags, and HD badges. Import/export CSV for bulk operations.

EPG & Schedules Direct

Nightly sync from Schedules Direct. Configurable lookahead, per-channel time offsets, and XMLTV export.

DVR Recording

Schedule recordings from EPG data, track status through the full pipeline, and serve playback via signed URLs.

Stream Health Checks

Automated 5-minute health checks on all stream sources with consecutive failure tracking and degradation alerts.

Subscriber & Device Auth

Manage subscriber accounts, plans, and device registrations. OAuth 2.0 device-code flow for TV apps — no keyboard needed.

Multi-Source Failover

Assign multiple stream sources per channel with priority ordering. Health-based failover keeps streams online.

Viewer Analytics

Real-time session telemetry — who's watching, on what device, buffer events, bitrate changes, and daily rollups.

Secure Stream URLs

MD5-signed HLS URLs via Nginx secure_link. Streams are protected from unauthorized sharing or hotlinking.

REST API & API Keys

Full programmatic access via typed REST API. Operator API keys for integrating Sailfin with your own tooling.

Native apps for every screen

Sailfin ships with first-party client apps for living room devices, not just a web dashboard.

Admin Web UI

Vue 3 single-page app with a dark, responsive design. Everything operators need in one fast dashboard.

Vue 3 Vite Tailwind CSS

Roku Channel

Native SceneGraph Roku channel with channel browse, live playback, and integrated guide data.

BrightScript SceneGraph Roku OS

Android TV feature highlights

Device-code auth — no keyboard required
Classic TV grid EPG guide
Full-screen HLS via ExoPlayer / Media3
Multi-track audio with language selection
Session telemetry and heartbeats
D-pad navigation overlay for live TV

Ready to replace your legacy IPTV stack?

Sailfin runs entirely on your infrastructure.