{"id":31956440,"url":"https://github.com/profullstack/zymo-web","last_synced_at":"2025-10-14T14:51:02.642Z","repository":{"id":298274296,"uuid":"839770842","full_name":"profullstack/zymo-web","owner":"profullstack","description":"Competitor to Emby and Plex. Self host for free or signup at zymo.tv","archived":false,"fork":false,"pushed_at":"2025-10-04T05:41:16.000Z","size":108140,"stargazers_count":14,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-04T05:43:52.295Z","etag":null,"topics":["ffmpeg","hls","iptv","live","mp3","podcasts","stream","torrent","video"],"latest_commit_sha":null,"homepage":"https://zymo.tv","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/profullstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-08T09:43:04.000Z","updated_at":"2025-10-04T05:41:20.000Z","dependencies_parsed_at":"2025-09-21T18:19:06.221Z","dependency_job_id":null,"html_url":"https://github.com/profullstack/zymo-web","commit_stats":null,"previous_names":["profullstack/zymo-web"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/profullstack/zymo-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profullstack%2Fzymo-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profullstack%2Fzymo-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profullstack%2Fzymo-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profullstack%2Fzymo-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profullstack","download_url":"https://codeload.github.com/profullstack/zymo-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profullstack%2Fzymo-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019140,"owners_count":26086685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","hls","iptv","live","mp3","podcasts","stream","torrent","video"],"created_at":"2025-10-14T14:49:04.718Z","updated_at":"2025-10-14T14:51:02.635Z","avatar_url":"https://github.com/profullstack.png","language":"JavaScript","readme":"# zymo.tv - A powerful, self-hosted media server that rivals Emby and Plex\n\n[![Crypto Payment](https://paybadge.profullstack.com/badge.svg)](https://paybadge.profullstack.com/?tickers=btc%2Ceth%2Csol%2Cusdc)\n\nA 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.\n\nSelf hosted or signup at https://zymo.tv\n\n![GitHub](https://img.shields.io/github/license/profullstack/zymo-web)\n![GitHub issues](https://img.shields.io/github/issues/profullstack/zymo-web)\n![GitHub stars](https://img.shields.io/github/stars/profullstack/zymo-web)\n![GitHub last commit](https://img.shields.io/github/last-commit/profullstack/zymo-web)\n\n## Why Choose zymo.tv?\n\n**🏠 Self-Hosted Freedom**: Complete control over your media library and data privacy\n**☁️ Cloud Option**: Don't want to self-host? Sign up at https://zymo.tv for instant access\n**🎬 Universal Media Support**: Movies, TV shows, music, podcasts, audiobooks, and more\n**📱 Cross-Platform**: Access your content from any device, anywhere\n**🚀 Modern Architecture**: Built with cutting-edge web technologies for speed and reliability\n\n## Features\n\n### Media Management\n- **Movies \u0026 TV Shows**: Organize and stream your video collection with rich metadata\n- **Music Library**: Full-featured music player with playlist support\n- **Podcasts**: Subscribe to and manage your favorite podcasts\n- **Books \u0026 Audiobooks**: Digital library management and reading/listening experience\n- **Live TV**: Stream live television content\n- **Torrent Integration**: Built-in torrent client for content acquisition\n\n### Technical Features\n- **PrimateJS Framework**: Modern, fast web framework\n- **Real-time Streaming**: WebSocket-based live streaming capabilities\n- **SurrealDB Backend**: High-performance, modern database\n- **User Authentication**: Secure user management and access control\n- **Responsive Design**: Optimized for desktop, tablet, and mobile\n- **SEO Optimized**: Built-in blog and SEO features\n- **Email Integration**: Mailgun email support\n- **SMS Notifications**: Twilio SMS integration\n- **Payment Processing**: Stripe integration for subscriptions\n- **Affiliate Program**: Built-in referral system\n- **Discord Integration**: Community features and notifications ([Join our Discord](https://discord.gg/nxHgWJzTVy))\n\n### Advanced Features\n- **Media Transcoding**: Automatic format conversion for compatibility\n- **Remote Access**: Secure access to your media from anywhere\n- **User Profiles**: Multiple user accounts with personalized libraries\n- **Parental Controls**: Content filtering and access restrictions\n- **Offline Sync**: Download content for offline viewing\n- **Subtitle Support**: Multiple subtitle formats and languages\n- **Chapter Support**: Navigate through content with chapter markers\n\n## Getting Started\n\n### Cloud Hosting (Easiest)\n\nSimply visit **https://zymo.tv** and create your account. No setup required!\n\n### Self-Hosting\n\n#### Prerequisites\n\n- Node.js 18+ and npm\n- SurrealDB 1.5.5+\n- FFmpeg (for media transcoding)\n- Redis (optional, for caching)\n\n#### Installation\n\n1. Clone the repository:\n\n    ```shell\n    git clone https://github.com/zymo-tv/zymo-web.git\n    cd zymo-web\n    ```\n\n2. Install dependencies:\n\n    ```shell\n    npm install\n    ```\n\n3. Configure environment:\n\n    ```shell\n    cp .env.local.sample .env.local\n    # Edit .env.local with your configuration\n    ```\n\n4. Install and start SurrealDB:\n\n    ```shell\n    curl -sSf https://install.surrealdb.com | sh\n    surreal upgrade --version 1.5.5\n    npm run db:start\n    ```\n\n5. Run database migrations:\n\n    ```shell\n    chmod 755 ./migrations/*.sh\n    for f in ./migrations/*.sh; do ./$f; done\n    node ./migrations/scripts/migrate.js up\n    ```\n\n6. Install FFmpeg (for media processing):\n\n    ```shell\n    ./bin/install-ffmpeg.sh\n    ```\n\n7. Start the server:\n\n    ```shell\n    npm run dev\n    ```\n\n    Access your zymo.tv instance at `http://localhost:3000`\n\n## Configuration\n\n### Media Libraries\n\nConfigure your media directories in the dashboard:\n- Movies: `/path/to/movies`\n- TV Shows: `/path/to/tv`\n- Music: `/path/to/music`\n- Podcasts: Managed through RSS feeds\n- Books: `/path/to/books`\n\n### Remote Access\n\nFor remote access, configure your router's port forwarding or use a reverse proxy like nginx.\n\n### Transcoding\n\nzymo.tv automatically transcodes media for optimal streaming. Configure transcoding settings in the admin panel based on your server's capabilities.\n\n### Using Production API in Local Development\n\nIf you want to develop locally while connecting to the production API instead of running your own database, follow these steps:\n\n1. Copy the environment sample file:\n\n    ```shell\n    cp .env.local.sample .env.local\n    ```\n\n2. Edit `.env.local` and configure the database connection to point to production:\n\n    ```shell\n    # Production API Configuration\n    DB_HOST=https://api.zymo.tv\n    DB_SQL_URL=https://api.zymo.tv/sql\n    DB_RPC_URL=https://api.zymo.tv/rpc\n    DB_WS_HOST=wss://api.zymo.tv\n    \n    # Use production namespace and database\n    DB_NS=zymo\n    DB_DB=zymo\n    \n    # Production credentials (contact support for access)\n    DB_USER=your_production_user\n    DB_PASS=your_production_password\n    ```\n\n3. Update other production-specific settings as needed:\n\n    ```shell\n    APP_DOMAIN=zymo.tv\n    APP_NAME=zymo\n    MAILGUN_DOMAIN=mg.zymo.tv\n    FROM_EMAIL=hello@zymo.tv\n    ```\n\n4. Start the development server:\n\n    ```shell\n    pnpm run dev\n    ```\n\n**Note**: You'll need production API credentials to connect. Contact the zymo.tv team for access. This setup is useful for:\n- Frontend development without running the full backend stack\n- Testing against production data\n- Debugging production issues locally\n\n**Security Warning**: Never commit your `.env.local` file with production credentials to version control. The `.gitignore` file should already exclude this file.\n\n## Comparison with Competitors\n\n| Feature | zymo.tv | Plex | Emby |\n|---------|---------|------|------|\n| Self-Hosted | ✅ | ✅ | ✅ |\n| Cloud Option | ✅ | ❌ | ❌ |\n| Open Source | ✅ | ❌ | ❌ |\n| Modern UI | ✅ | ✅ | ✅ |\n| Live TV | ✅ | ✅ | ✅ |\n| Podcasts | ✅ | ❌ | ❌ |\n| Books/Audiobooks | ✅ | ❌ | ❌ |\n| Torrent Integration | ✅ | ❌ | ❌ |\n| No License Fees | ✅ | ❌ | ❌ |\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n- Fork the repository and create a feature branch\n- Follow our coding standards and conventions\n- Submit a pull request with a clear description of changes\n- Join our Discord community for discussions: https://discord.gg/nxHgWJzTVy\n\n## Support\n\n- **Documentation**: Visit our wiki for detailed guides\n- **Community**: Join our Discord server: https://discord.gg/nxHgWJzTVy\n- **Issues**: Report bugs on GitHub\n- **Commercial Support**: Available for enterprise deployments\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE-CODE](LICENSE-CODE) file for details.\n\n---\n\n**Ready to take control of your media?** \n- 🏠 **Self-host**: Clone this repo and follow the installation guide\n- ☁️ **Cloud**: Sign up instantly at **https://zymo.tv**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofullstack%2Fzymo-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofullstack%2Fzymo-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofullstack%2Fzymo-web/lists"}