A beautiful, Netflix-style client for your Plex library
Available on Web, macOS, iOS, Android, and tvOS
Flixor is a modern, cross-platform Plex client that brings a Netflix-like experience to your media library. Browse beautiful rows, see rich metadata with ratings from multiple sources, and enjoy powerful playback on any device.
| Platform | Status | Player |
|---|---|---|
| Web | Available | HLS.js / DASH.js |
| macOS | Available | MPV (HDR, Dolby Vision) |
| iOS | Available | KSPlayer |
| Android | Available | MPV |
| tvOS | In Development | - |
- Netflix-style UI - Continue Watching, Trending, Collections, Watchlist, and more
- Rich metadata - Trailers, cast info, tech badges (4K/HDR/Atmos/DTS-X)
- Smart search - Search across Plex and TMDB with intelligent filtering
- Ultra-fast grids - Optimized for libraries with thousands of items
- Cross-platform sync - Watch progress syncs across all your devices
- Web: Built-in DASH/HLS player with Picture-in-Picture and subtitle support
- macOS: MPV-powered with HDR, Dolby Vision, and advanced audio passthrough
- Mobile: Native players with background playback and streaming quality options
| Service | Description |
|---|---|
| TMDB | Movie/TV metadata, posters, backdrops, trailers |
| Trakt | Watch history sync, scrobbling, ratings, watchlists |
| MDBList | Aggregated ratings from IMDb, RT, Letterboxd, Metacritic |
| Overseerr | Request movies and shows directly from the app |
- OTA (Over-the-Air) updates without app store
- Configurable bottom navigation tabs
- Optional TMDB search integration
- Landscape continue watching cards with progress indicators
Using the published image:
docker run -d \
--name flixor \
-p 8080:80 \
-e SESSION_SECRET=your-secure-secret-here \
-v flixor-config:/app/config \
-v flixor-cache:/app/cache \
--restart unless-stopped \
ghcr.io/flixorui/flixor:latestUsing Docker Compose:
services:
flixor:
image: ghcr.io/flixorui/flixor:latest
container_name: flixor
environment:
- SESSION_SECRET=your-secure-secret-here
ports:
- "8080:80"
volumes:
- flixor-config:/app/config
- flixor-cache:/app/cache
restart: unless-stopped
volumes:
flixor-config:
flixor-cache:docker compose up -dOpen http://localhost:8080 and sign in with Plex.
- Download the latest
.dmgfrom Releases - Drag Flixor to your Applications folder
- Open and sign in with Plex
Requirements: macOS 13.0 (Ventura) or later
Download from the Releases page or join the TestFlight/beta program.
The mobile apps support OTA updates - you'll receive update notifications within the app.
- Node.js 18+
- npm or yarn
cd web_frontend
npm install
npm run devcd apps/mobile
npm install
npx expo startOpen apps/macos/FlixorMac.xcodeproj in Xcode and build.
npm install
npm run dev:allThe dev server runs on http://localhost:5173 and is accessible on your local network.
| Variable | Description | Default |
|---|---|---|
SESSION_SECRET |
Secret for session encryption | Required |
VITE_PROXY_TARGET |
Backend URL for dev proxy | http://localhost:3000 |
Settings are available in-app under Settings:
- Catalogs - Choose which Plex libraries appear
- Home Screen - Configure hero and row visibility
- Integrations - Set up TMDB, Trakt, MDBList, Overseerr
- Playback - Video player preferences
- Appearance - Episode layout, backdrop options
The mobile app supports self-hosted OTA updates. To publish an update:
export FLIXOR_OTA_UPLOAD_KEY=your-upload-key
./scripts/publish-ota-update.shUsers will receive update notifications on app launch.
- Discord - Join the community
- Reddit - Follow updates
- GitHub Issues - Report bugs
Contributions are welcome! Please read our contributing guidelines before submitting a PR.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE for more information.
Made with care for the Plex community