Self-host FlexTV
25.04.19Voice control bridge for Plex Media Server
- Stars
- 210
- Port
- 80 (WebUI)
What is FlexTV?
FlexTV (also known as Phlex) is a self-hosted PHP web application that acts as a bridge between Plex Media Server and voice assistants like Google Assistant and Alexa, as well as Chromecast devices. It enables voice control of Plex playback, casting to Chromecast devices, and integration with download automation tools like Sonarr and CouchPotato. The project provides multiple installation methods including Docker, Docker Compose, XAMPP (Windows/Linux/macOS), and Raspberry Pi. It uses a file-based storage by default with optional MySQL support. The web UI runs on port 80 and is configured via a config.ini.php file. The project is in beta development with the last code update in April 2023.
Should you self-host FlexTV?
FlexTV scores 38/100 on selfhost.directory (how scoring works) and ranks #104 of 118 in Media Server. It has 210 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is moderate: expect some configuration beyond a single command. It is Other-licensed and written mostly in PHP.
Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 737 stars). It scores higher overall, so compare the two before you pick. See FlexTV vs Jellyfin side by side.
Features
- Alexa voice control
- Chromecast Support
- Fetcher integration
- Google Assistant voice control
- IFTTT Integration
- Web-based UI
FlexTV README
FAQ
I can't link my server!
Refer to the Networking Guide (Talking To The Outside World) for troubleshooting server linking issues.
How do I enable sockets/cast devices?
Enable the PHP sockets extension in php.ini (uncomment extension=php_sockets.dll on Windows or extension=sockets.so on Linux), then restart the web server. Docker images have this enabled by default.
What is config.ini.php and why is it important?
config.ini.php is the main configuration file that stores account linking data for Google Assistant, IFTTT, and Alexa. Deleting it breaks account linking and requires re-linking.
More in Voice Assistants
FlowcatFlowcat is an open-source, self-hosted Rust runtime for real-time voice agents — single binary, no hosted control plane, native SIP/RTP/WebRTC, 80+ provider connectors.
fosscordSpacebar is a free, open-source, self-hosted Discord-compatible platform for chat, voice, and video. Run your own server with existing Discord clients and bots.
ha-bridgeha-bridge is a self-hosted, open-source Java app that emulates the Philips Hue Bridge API, letting Alexa and Google Home control non-Hue devices.
J.A.R.V.I.SSelf-hosted, open-source voice assistant with local Whisper STT, ElevenLabs TTS, and a browser-based holographic HUD to control the Hermes autonomous agent on your LAN.
JasperSelf-hosted, open-source voice assistant you run on a Raspberry Pi, with pluggable speech recognition, text-to-speech, and Python modules for weather, news and Spotify.
LeonAn open-source personal assistant you run self-hosted on your own machine, with voice chat, offline STT/TTS, modular skills, layered memory, and agentic tool execution.
minutesFree, open-source app that records and transcribes meetings locally into Markdown, then lets AI assistants like Claude Code search the history via MCP.
mirrormateSelf-hosted voice-first AI companion for smart mirrors. Wake-word activation, RAG memory, expressive avatar, local inference with Ollama and VOICEVOX.
MoltisSelf-hosted, open-source AI agent server in a single Rust binary: multi-provider LLMs, voice, memory, MCP tools, and Telegram/Discord/Slack channels.
openclaw-voiceSelf-hosted browser voice interface for AI assistants. Runs Whisper locally, uses ElevenLabs or local TTS, connects to OpenAI, Claude, or custom agents.
sapphireSapphire Blue AI is a self-hosted, open-source AI companion with voice, memory, personas, and plugins. Runs locally with optional cloud LLMs.
SayItSayIt is an open-source Windows voice typing app that transcribes speech and uses AI to clean up text before inserting it at the cursor.

0 comments