Introduction: "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
Step 1: 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:
Step 2: 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.
Step 3: 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:
Step 4: 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.
Step 5: 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.

