# IPTV Server ![Version](https://img.shields.io/badge/version-2.7.1-blue.svg) ![License](https://img.shields.io/badge/license-Commercial-red.svg) ![PowerData](https://img.shields.io/badge/powered%20by-PowerData.dk-green.svg) - Complete Installation Package with Automatic Patch Management Professional IPTV streaming server with M3U8/HLS support, Coinbase Commerce payments, and multi-tier user management. ## Overview This package provides a complete enterprise IPTV server solution featuring: - **M3U8/HLS Streaming Support** - Compatible with TVHeadend and other M3U8 sources - **Coinbase Commerce Integration** - Cryptocurrency payment processing (Bitcoin, Ethereum, USDC) - **Multi-tier user system** (Admin → Reseller → Sub-reseller → User) - **Automatic Patch Management** - Git-based update system with rollback support - **HLS streaming** with adaptive bitrate transcoding - **VOD system** with IMDB integration capabilities - **Progressive Web App** with modern interface - **Docker-based deployment** with comprehensive management - **License server integration** for software protection ## 🆕 Patch Management System The server includes an automatic patch management system for easy updates: ### Features - **One-Click Updates** - Apply patches directly from admin dashboard - **Automatic Backups** - System backs up before applying patches - **Rollback Support** - Easily revert to previous versions if needed - **Update Notifications** - Get notified when new patches are available - **Git-Based Distribution** - Transparent version control via Git repositories ### Checking for Updates 1. Login as admin 2. Navigate to "System Updates" in dashboard 3. Click "Check for Updates" 4. Review available patches and apply ### Update Repositories - **Main Server**: `http://git.powerdata.dk:3000/masterdraco/IPTV-Server.git` - **Updates**: `http://git.powerdata.dk:3000/masterdraco/IPTV-Updates.git` ## Quick Start ### 1. System Preparation ```bash # Extract installation package tar -xzf iptv-server-install.tar.gz cd iptv-server-install # Ensure user has sudo privileges (not root) groups $USER # should include 'sudo' ``` ### 2. Complete Installation ```bash # Run interactive installation ./iptv-install.sh install ``` ### 3. Configure Streaming Sources ```bash # For M3U8/TVHeadend integration # Add your M3U8 sources via the admin dashboard # System automatically imports channels from M3U8 playlists ``` ### 4. Start Services ```bash # Start all services ./iptv-install.sh start # Check comprehensive status ./iptv-install.sh status ``` ### 5. Access Server - **Web Interface**: `https://your-domain.com` - **API Documentation**: `https://your-domain.com/docs` - **Streaming Endpoint**: `https://your-domain.com/api/streams/` - **Admin Panel**: `https://your-domain.com/admin` ## System Requirements ### Minimum Requirements - **OS**: Ubuntu 20.04+ or Debian 11+ - **Memory**: 4GB RAM - **Storage**: 50GB available space - **CPU**: 2+ cores (quad-core recommended for transcoding) - **Network**: Broadband connection with static IP ### Recommended for Production - **Memory**: 8GB+ RAM - **Storage**: 500GB+ SSD (for media storage and recordings) - **CPU**: 6+ cores with hardware video acceleration - **Network**: Dedicated server with high bandwidth ## Streaming Support ### M3U8/HLS Sources - **TVHeadend Integration** - Direct import from TVHeadend servers - **Generic M3U8** - Support for any standard M3U8 playlist - **External Streams** - Proxy support for external HLS streams - **Automatic Channel Import** - Bulk import from M3U8 playlists ### Note on TV Cards While the system architecture supports TV cards, direct DVB card integration is not included in the current version. The system uses M3U8/HLS sources for channel streaming, which provides greater flexibility and compatibility with existing streaming infrastructure like TVHeadend. ## Payment Processing ### Coinbase Commerce Integration The system uses **Coinbase Commerce** for cryptocurrency payment processing: - **Supported Cryptocurrencies**: - Bitcoin (BTC) - Ethereum (ETH) - USDC - Litecoin (LTC) - Dogecoin (DOGE) - **Features**: - Automatic payment verification - Real-time exchange rates - Secure webhook notifications - No blockchain node required ### Setting Up Payments 1. Create a Coinbase Commerce account 2. Get your API key from Coinbase Commerce dashboard 3. Configure in IPTV Server admin settings 4. Enable desired cryptocurrencies ## Installation Commands ### Core Management ```bash ./iptv-install.sh install # Complete installation ./iptv-install.sh start # Start all services ./iptv-install.sh stop # Stop all services ./iptv-install.sh restart # Restart all services ./iptv-install.sh status # Check service status ./iptv-install.sh logs # View logs ``` ### Update Management ```bash ./iptv-install.sh check-updates # Check for available patches ./iptv-install.sh list-patches # List all available patches ./iptv-install.sh apply-patch # Apply next patch ./iptv-install.sh apply-all # Apply all pending patches ./iptv-install.sh patch-history # View patch history ./iptv-install.sh rollback # Rollback to previous version ``` ### Backup Management ```bash ./iptv-install.sh backup # Create backup ./iptv-install.sh restore # Restore from backup ``` ## Docker Services The system runs as Docker containers: - **iptv-backend** - FastAPI application server - **iptv-postgres** - PostgreSQL database - **iptv-redis** - Redis cache and sessions - **iptv-nginx** - Nginx reverse proxy - **iptv-streaming** - FFmpeg streaming service - **iptv-celery** - Background task processor ## API Endpoints ### Authentication - `POST /api/auth/login` - User login - `POST /api/auth/register` - User registration - `POST /api/auth/refresh` - Refresh token ### Channels - `GET /api/channels` - List channels - `POST /api/channels/m3u8` - Add M3U8 channel - `POST /api/m3u8/import` - Import M3U8 playlist ### Streaming - `GET /api/streams/play/{channel_id}` - Get stream URL - `POST /api/streams/start` - Start streaming session - `POST /api/streams/stop` - Stop streaming session ### Patch Management - `GET /api/patches/check` - Check for updates - `POST /api/patches/apply-all` - Apply all patches - `GET /api/patches/history` - View update history ## Configuration Main configuration file: `config/iptv.env` Key settings: ```bash # Server Configuration DOMAIN=your-domain.com SERVER_NAME="IPTV Server" SERVER_PORT=8000 # Database DB_HOST=postgres DB_NAME=iptv_server DB_USER=iptv_user # Streaming ENABLE_M3U8_IMPORT=true M3U8_IMPORT_INTERVAL=3600 STREAMING_QUALITY=high # Payments COINBASE_API_KEY=your_api_key COINBASE_WEBHOOK_SECRET=your_webhook_secret # Patch Management PATCH_CHECK_ENABLED=true PATCH_CHECK_INTERVAL=3600 PATCH_AUTO_BACKUP=true ``` ## Security - **JWT Authentication** - Secure token-based authentication - **SSL/TLS Encryption** - Automatic SSL certificate management - **Role-Based Access Control** - Multi-tier permission system - **License Verification** - Hardware-bound licensing - **Rate Limiting** - API rate limiting protection - **Firewall Configuration** - Automated firewall setup ## Troubleshooting ### Service Issues ```bash # Check service status docker ps # View logs docker logs iptv-backend docker logs iptv-streaming # Restart services ./iptv-install.sh restart ``` ### Streaming Issues - Verify M3U8 sources are accessible - Check network connectivity - Review streaming logs: `docker logs iptv-streaming` ### Payment Issues - Verify Coinbase Commerce API keys - Check webhook configuration - Review payment logs in admin dashboard ### Update Issues - Check Git repository connectivity - Verify disk space for backups - Review patch logs: `tail -f logs/patch.log` ## Support ### Documentation - Installation Guide: `docs/INSTALLATION_GUIDE.md` - API Documentation: `https://your-server/docs` - Patch Management: `PATCH_MANAGEMENT.md` ### Community - Issues: Report via admin dashboard - Updates: Check System Updates section ## 📋 License & Purchase Information ### Commercial License Required This IPTV Server software is **commercially licensed** and requires a valid license for production use. **🔗 Purchase License**: [https://powerdata.dk](https://powerdata.dk) ### License Features - ✅ **Production Deployment Rights** - Deploy on your servers - ✅ **Commercial Usage** - Use for business purposes - ✅ **Multi-Site Support** - Run multiple instances - ✅ **Technical Support** - Priority support access - ✅ **Regular Updates** - Access to patches and updates - ✅ **Source Code Access** - Full source code included ### License Validation The software validates licenses against PowerData.dk servers and is bound to hardware IDs for security. --- ## Version History ### v2.7.1 (Current) - Updated README with accurate feature descriptions - Clarified M3U8/HLS streaming support - Added Coinbase Commerce documentation - Included patch management system details ### v2.7.0 - Initial release with patch management system - Complete Docker-based architecture - Multi-tier user management - VOD system integration --- **© 2025 PowerData.dk** - Enterprise IPTV Solutions