About this project

PWA Karaoke is a web-based karaoke application that transforms any device into a karaoke system. It runs entirely in the browser and supports Docker Compose, standalone Docker, and manual setup methods. Key features include: - **Multi-device roles**: Use a phone or tablet as a controller to search and manage songs, while any web-capable device (TV, projector, monitor) acts as a display showing video playback and the song queue. - **Multi-room support**: Create multiple independent karaoke rooms, each optionally protected with a password. - **Song search and queuing**: Search for songs from video streaming platforms and queue them for playback. - **Autoplay**: Reserved songs play sequentially by default; an autoplay toggle allows manual control. - **Scoring**: Songs are scored when they end, with microphone input supported via a "Mic Check" feature on controllers. - **Nicknames**: Controllers identify users with nicknames (up to 14 characters) that appear on the display next to reserved songs. - **QR code pairing**: Quickly connect a controller to a display by scanning the QR code shown on the display's waiting screen. Setup options: - Docker Compose (recommended): starts backend and Caddy web server with a single command. - Docker: build and run the container separately. - Manual: requires Python 3.11+, Node.js 20+, and yt-dlp for video processing. System requirements: minimum 2GB RAM, 1 vCPU. Intended for personal, non-commercial use. Licensed under MIT.