A powerful, self-hosted media server that rivals Emby and Plex. Stream your movies, TV shows, music, podcasts, and books from anywhere. Host it yourself for complete control, or get started instantly at https://zymo.tv.
Self hosted or signup at https://zymo.tv
π Self-Hosted Freedom: Complete control over your media library and data privacy βοΈ Cloud Option: Don't want to self-host? Sign up at https://zymo.tv for instant access π¬ Universal Media Support: Movies, TV shows, music, podcasts, audiobooks, and more π± Cross-Platform: Access your content from any device, anywhere π Modern Architecture: Built with cutting-edge web technologies for speed and reliability
- Movies & TV Shows: Organize and stream your video collection with rich metadata
- Music Library: Full-featured music player with playlist support
- Podcasts: Subscribe to and manage your favorite podcasts
- Books & Audiobooks: Digital library management and reading/listening experience
- Live TV: Stream live television content
- Torrent Integration: Built-in torrent client for content acquisition
- PrimateJS Framework: Modern, fast web framework
- Real-time Streaming: WebSocket-based live streaming capabilities
- SurrealDB Backend: High-performance, modern database
- User Authentication: Secure user management and access control
- Responsive Design: Optimized for desktop, tablet, and mobile
- SEO Optimized: Built-in blog and SEO features
- Email Integration: Mailgun email support
- SMS Notifications: Twilio SMS integration
- Payment Processing: Stripe integration for subscriptions
- Affiliate Program: Built-in referral system
- Discord Integration: Community features and notifications (Join our Discord)
- Media Transcoding: Automatic format conversion for compatibility
- Remote Access: Secure access to your media from anywhere
- User Profiles: Multiple user accounts with personalized libraries
- Parental Controls: Content filtering and access restrictions
- Offline Sync: Download content for offline viewing
- Subtitle Support: Multiple subtitle formats and languages
- Chapter Support: Navigate through content with chapter markers
Simply visit https://zymo.tv and create your account. No setup required!
- Node.js 18+ and npm
- SurrealDB 1.5.5+
- FFmpeg (for media transcoding)
- Redis (optional, for caching)
-
Clone the repository:
git clone https://github.com/zymo-tv/zymo-web.git cd zymo-web
-
Install dependencies:
npm install
-
Configure environment:
cp .env.local.sample .env.local # Edit .env.local with your configuration
-
Install and start SurrealDB:
curl -sSf https://install.surrealdb.com | sh surreal upgrade --version 1.5.5 npm run db:start
-
Run database migrations:
chmod 755 ./migrations/*.sh for f in ./migrations/*.sh; do ./$f; done node ./migrations/scripts/migrate.js up
-
Install FFmpeg (for media processing):
./bin/install-ffmpeg.sh
-
Start the server:
npm run dev
Access your zymo.tv instance at
http://localhost:3000
Configure your media directories in the dashboard:
- Movies:
/path/to/movies
- TV Shows:
/path/to/tv
- Music:
/path/to/music
- Podcasts: Managed through RSS feeds
- Books:
/path/to/books
For remote access, configure your router's port forwarding or use a reverse proxy like nginx.
zymo.tv automatically transcodes media for optimal streaming. Configure transcoding settings in the admin panel based on your server's capabilities.
If you want to develop locally while connecting to the production API instead of running your own database, follow these steps:
-
Copy the environment sample file:
cp .env.local.sample .env.local
-
Edit
.env.local
and configure the database connection to point to production:# Production API Configuration DB_HOST=https://api.zymo.tv DB_SQL_URL=https://api.zymo.tv/sql DB_RPC_URL=https://api.zymo.tv/rpc DB_WS_HOST=wss://api.zymo.tv # Use production namespace and database DB_NS=zymo DB_DB=zymo # Production credentials (contact support for access) DB_USER=your_production_user DB_PASS=your_production_password
-
Update other production-specific settings as needed:
APP_DOMAIN=zymo.tv APP_NAME=zymo MAILGUN_DOMAIN=mg.zymo.tv [email protected]
-
Start the development server:
pnpm run dev
Note: You'll need production API credentials to connect. Contact the zymo.tv team for access. This setup is useful for:
- Frontend development without running the full backend stack
- Testing against production data
- Debugging production issues locally
Security Warning: Never commit your .env.local
file with production credentials to version control. The .gitignore
file should already exclude this file.
Feature | zymo.tv | Plex | Emby |
---|---|---|---|
Self-Hosted | β | β | β |
Cloud Option | β | β | β |
Open Source | β | β | β |
Modern UI | β | β | β |
Live TV | β | β | β |
Podcasts | β | β | β |
Books/Audiobooks | β | β | β |
Torrent Integration | β | β | β |
No License Fees | β | β | β |
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository and create a feature branch
- Follow our coding standards and conventions
- Submit a pull request with a clear description of changes
- Join our Discord community for discussions: https://discord.gg/nxHgWJzTVy
- Documentation: Visit our wiki for detailed guides
- Community: Join our Discord server: https://discord.gg/nxHgWJzTVy
- Issues: Report bugs on GitHub
- Commercial Support: Available for enterprise deployments
This project is licensed under the MIT License - see the LICENSE-CODE file for details.
Ready to take control of your media?
- π Self-host: Clone this repo and follow the installation guide
- βοΈ Cloud: Sign up instantly at https://zymo.tv