How nexusjuan12/nostalgiavision works
NostalgiaVision is a self-hosted Plex-to-live-TV web app. Users connect a Plex server, select libraries to sync, build a rolling schedule, then browse the EPG and watch programs as playback advances. The main domain stages are library discovery and caching, channel matching, schedule generation, and guide/playback delivery. The graph includes documented UI capabilities whose wiring is not fully visible in the sampled source; those links are limited to the Flask app’s documented role and the listed templates.
Main entry points: app.py Flask app and API · library_sync.py Library sync · scheduler.py Schedule generation · index.html Guide and settings UI
Components 10
Web experience
- Guide and settings UI
templates/index.html - Playback UI
templates/player.html - Flask app and API
app.py
Library and channels
- Library sync
library_sync.py - Channel definitions
channels.py
Scheduling
- Schedule generation
scheduler.py
Persistence and Plex
- Plex API client
plex_client.py - Content and EPG database
database.py
Other components
- Viewer
- Plex Media Server
Connections 15
- Viewer → Guide and settings UI: uses
- Guide and settings UI → Flask app and API: requests API
- Flask app and API → Guide and settings UI: serves guide
- Flask app and API → Playback UI: serves playback
- Flask app and API → Library sync: starts sync
- Library sync → Plex API client: fetches libraries
- Plex API client → Plex Media Server: queries metadata
- Library sync → Content and EPG database: writes cache
- Flask app and API → Content and EPG database: reads and writes
- Flask app and API → Schedule generation: requests schedule
- Schedule generation → Channel definitions: uses configs
- Schedule generation → Content and EPG database: reads content; writes EPG
- Flask app and API → Plex API client: connects to Plex
- Flask app and API → Plex Media Server: creates stream URL
- Playback UI → Plex Media Server: plays HLS stream