# ⛪ ChurchTube ChurchTube is a premium, self-hosted video platform designed specifically for churches to share sermons and media with their congregation. It features a modern, "YouTube-like" interface with advanced moderation and branding tools. ![ChurchTube Preview](assets/images/screenshot.png) ## ✨ Features - **Premium UX**: Modern, responsive design with forced **Dark Mode** and glassmorphism. - **Dual Video Sources**: Upload videos directly or link them from external sources (NAS, Google Drive, Cloud). - **Smart Google Drive Support**: Automatically converts Google Drive links for seamless embedding and mobile-friendly controls. - **User Identity**: - Custom **User Avatars** for a more personal community experience. - Profile management for passwords and identity. - **Timestamped Bookmarks**: Save the exact second of a sermon and jump back to it later from your profile. - **Interactive Community**: - AJAX-based commenting (no video reloads). - 5 reaction types (👍, ❤️, 🙏, 💡, 👏). - Automated Profanity Filter with auto-reporting. - Users can delete their own comments. - **Administrative Accountability**: - **System Logs**: Track logins, failed attempts, video plays, and comment history with IP address auditing. - Role-Based Access Control (Admin, Moderator, Editor, User). - **Custom Branding**: Real-time control over site title, colors, logo, and footer. - **Search & Discovery**: Keyword search, intelligent recommendations, and pagination. ## 🛠️ Technology Stack - **Backend**: PHP 7.4+ (PDO for database security) - **Database**: MySQL / MariaDB - **Frontend**: Vanilla HTML5, CSS3 (Modern Flexbox/Grid), Javascript (ES6+) - **Icons**: FontAwesome 6+ ## 🚀 Installation 1. **Clone the repository**: ```bash git clone https://git.linology.tech/michael/churchtube.git ``` 2. **Configure Permissions**: Ensure the `uploads/` and `includes/` directories are writable by the web server: ```bash chmod -R 775 uploads/ includes/ chown -R www-data:www-data uploads/ includes/ ``` 3. **Run the Wizard**: Navigate to `http://yourdomain.com/install.php` in your browser. The First-Run Wizard will guide you through: - PHP environment checks (upload limits, extensions). - Database connection setup. - Creating the primary Admin account. 4. **Security Hardening**: After installation, it is recommended to delete `install.php` or set its permissions to `000`. ## 📁 Storage Recommendations - **Local Storage**: Best for high performance if your server has ample space. - **NAS/Cloud**: Perfect for large libraries. Simply provide the direct link to the MP4 file or a Google Drive "view" link. ## 📄 License This project is licensed under the MIT License. Feel free to use and modify it for your church's needs. --- *Built with love for the Church community.*