"Smart" Retro TV

Modern IPTV streaming for a small retro CRT TV. In this project, I’ll show you how I used a Raspberry Pi, some Docker containers, and a couple other components to stream live channels and Plex content from the 1980s–90s era directly to a CRT TV that I picked up from the thrift store — complete with remote control, EPG, and nostalgic "channel surfing" feel.
Supplies


Raspberry Pi 3 or 4 (with RPi OS installed)
microSD card (16GB+ recommended)
Power supply for Pi
HDMI to RF modulator (to connect Pi to coaxial-only TV)
Coaxial cable + optional PAL to F adapter
USB keyboard/mouse (for setup)
Retro analog TV with antenna/coax input
Network access (Ethernet or Wi-Fi)
Another Linux/PC machine for management (optional)
Optional Services I used:
- Plex Media Server (for 1980s-90s content)
- dizqueTV (to create virtual live channels)
- TVHeadend (IPTV backend)
- Kodi (Pi client — optional)
- Docker & Docker Compose stack
Prepare the Raspberry Pi

Flash Raspberry Pi OS using Raspberry Pi Imager
Boot the Pi and run:
Enable SSH and set a static IP if needed
Optionally install kodi if you want a frontend:
Connect the Pi — SSH and Analog TV Hookup

Before we dive into the Docker setup, you’ll want to get the Raspberry Pi accessible and connected to your retro TV.
Hardware Hookup (Analog TV)
- Plug the HDMI cable from your Raspberry Pi into the HDMI-to-RF converter.
- Connect a coaxial cable from the converter to the TV’s antenna input.
- If your TV uses a screw-on connector and your coax won’t fit, use a PAL-to-F adapter.
- Power on your TV and set it to Channel 3 or 4 (whichever your converter is set to).
Connect via SSH
Now access your Pi from another computer so you can control it remotely:
On your main PC, open a terminal and run:
By the end of this step, your Pi is headless and online, your TV is connected and ready, and you're all set to deploy the IPTV system.
Docker
Here is an example docker-compose file. Feel free to tweak this according to your needs, I also use Portainer to monitor my services easier.
Then start:
Build and Link Your Custom Retro Channel
- In dizqueTV (http://<your-server-ip>:8000):
- Go to Channels → Add Channel, name it (e.g., 80s Hits), assign a number.
- Add content from Plex using Auto-Filler or drag-and-drop.
- Copy the M3U URL from the M3U tab (e.g., http://<server-ip>:8000/m3u).
- In Tvheadend (http://<your-server-ip>:9981):
- Go to Configuration → IPTV Inputs → Muxes, click Add.
- Paste your dizqueTV M3U URL, set a scan timeout (~15s), and save.
- After scanning completes, visit Services, select the new stream, and click Map Services to Channels.
- In Kodi (on your Raspberry Pi):
- Open Settings → Add-ons → Install from Repository → PVR Clients.
- Install Tvheadend HTSP Client.
- Configure it:
- IP address: your Tvheadend server IP
- Port: 9982
- Username/password: if set
- Enable the add-on and restart Kodi.
✅ Now Kodi will auto-load your Tvheadend channels — including your custom dizqueTV one — every time it boots.
Summary


This project turns a Raspberry Pi into a retro-style IPTV streamer that broadcasts 1980s–1990s TV shows from your Plex server to an old analog TV using RF coax. Here's the flow:
- Docker Stack on your main media server runs:
- Plex: hosts 80s–90s content.
- dizqueTV: creates virtual live TV channels from Plex.
- Tvheadend: broadcasts those channels over HTSP.
- Kodi on Raspberry Pi receives the stream via HTSP and plays it.
- HDMI to RF Converter sends the Kodi video signal into the TV's antenna input, mimicking a real live TV channel.
The result: a seamless live-TV feel on a CRT using modern tech.