Deploying Karaoke Eternal
Introduction
Karaoke Eternal is an open-source karaoke party system that transforms any device into a powerful karaoke platform. The system allows guests to browse and queue songs directly from their phone’s browser while the fully browser-based player handles MP3+G files, MP4 videos, and even WebGL visualizations for audio-only tracks.
Designed for flexibility, Karaoke Eternal’s server runs on nearly anything - from a Windows PC or Mac to dedicated servers like a Raspberry Pi or Synology NAS. The self-hosted nature gives you complete control over your karaoke library and party experience without relying on external services or subscriptions.
Key highlights of Karaoke Eternal:
- Browser-Based Everything: Both the queue interface and player run entirely in web browsers
- Mobile Song Selection: Guests browse and queue songs from their phones
- Multiple Format Support: Plays MP3+G (CDG), MP4 videos, and audio files with visualizations
- No App Required: Works on any device with a modern web browser
- Self-Hosted Library: Complete control over your karaoke collection
- Multi-Room Support: Run multiple rooms with independent queues
- WebGL Visualizations: Beautiful audio visualizers for tracks without video
- Cross-Platform Server: Runs on Windows, Mac, Linux, or containerized environments
- Customizable Player: Adjust key, tempo, and other playback settings
This guide walks through deploying Karaoke Eternal on Klutch.sh using Docker, configuring persistent storage for your karaoke library, and setting up the application for hosting memorable karaoke events.
Why Deploy Karaoke Eternal on Klutch.sh
Deploying Karaoke Eternal on Klutch.sh provides several advantages for hosting karaoke:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Karaoke Eternal without complex configuration. Push to GitHub, and your karaoke system deploys automatically.
Persistent Storage: Attach persistent volumes for your karaoke media library and database. Your song collection and queue history survive container restarts.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, enabling secure connections required for modern browser features.
Remote Access: Host karaoke nights accessible from anywhere, perfect for virtual parties or events at different locations.
Always-On Availability: Your karaoke server remains accessible 24/7 for impromptu singing sessions.
Prerequisites
Before deploying Karaoke Eternal on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker and containerization concepts
- Karaoke media files (MP3+G, MP4) ready to upload
Preparing Your Repository
To deploy Karaoke Eternal on Klutch.sh, create a GitHub repository containing your Dockerfile.
Repository Structure
karaoke-eternal-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM radrootllc/karaoke-eternal:latest
# Volume mounts:# /config - Database and configuration# /media - Your karaoke files (MP3+G, MP4, etc.)
EXPOSE 8080Creating the .dockerignore File
.git.github*.mdLICENSE.gitignore*.log.DS_Store.envDeploying Karaoke Eternal on Klutch.sh
Once your repository is prepared, follow these steps to deploy Karaoke Eternal:
- Select HTTP as the traffic type
- Set the internal port to 8080
Push Your Repository to GitHub
git initgit add Dockerfile .dockerignoregit commit -m "Initial Karaoke Eternal deployment configuration"git remote add origin https://github.com/yourusername/karaoke-eternal-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “karaoke-eternal” or “karaoke-party”.
Create a New App
Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your Karaoke Eternal Dockerfile.
Configure HTTP Traffic
Karaoke Eternal serves its web interface over HTTP. In the deployment settings:
Attach Persistent Volumes
Add the following volumes for data persistence:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/config | 1 GB | SQLite database and configuration |
/media | 50+ GB | Karaoke media files (adjust based on library size) |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will build the container, attach volumes, and provision HTTPS.
Access Karaoke Eternal
Once deployment completes, access your Karaoke Eternal instance at https://your-app-name.klutch.sh.
Initial Setup and Configuration
First-Time Setup
When you first access Karaoke Eternal:
- Create an admin account to manage the system
- Navigate to Preferences to configure settings
- Add your media folders pointing to
/media - Wait for the media scanner to index your songs
Media File Organization
Karaoke Eternal expects files named in “Artist - Title” format by default:
/media/├── Queen - Bohemian Rhapsody.cdg├── Queen - Bohemian Rhapsody.mp3├── Journey - Don't Stop Believin.mp4└── ABBA - Dancing Queen.cdg ABBA - Dancing Queen.mp3You can customize the naming pattern in settings if your files follow a different convention.
Hosting a Karaoke Party
To host a karaoke event:
- Open the Player: Navigate to the player view on your display device
- Share the URL: Give guests your Klutch.sh URL to browse songs
- Queue Management: Guests add songs, you control playback
- Room Controls: Adjust volume, skip songs, or pause as needed
Production Best Practices
Media Management
- Consistent Naming: Use the “Artist - Title” format for reliable metadata
- Quality Files: Higher quality MP3+G and MP4 files provide better experiences
- Organize Folders: Group by genre or decade for easier browsing
Performance Optimization
- Adequate Storage: Karaoke files can be large; plan storage accordingly
- Network Speed: Ensure good upload speeds for smooth streaming
Troubleshooting Common Issues
Songs Not Appearing
Solutions:
- Verify file naming matches expected format
- Check that media folder path is correct
- Trigger a library rescan from preferences
Playback Issues
Solutions:
- Ensure browser supports required codecs
- Check that CDG files have matching MP3 files
- Verify file integrity
Additional Resources
- Karaoke Eternal Website
- Karaoke Eternal GitHub Repository
- Getting Started Guide
- Docker Hub
- Klutch.sh Persistent Volumes
Conclusion
Deploying Karaoke Eternal on Klutch.sh gives you a complete, self-hosted karaoke party system with browser-based access from any device. The combination of Karaoke Eternal’s feature-rich player and Klutch.sh’s deployment simplicity means you can focus on the fun of singing rather than technical setup.
Whether hosting virtual karaoke nights, in-person parties, or just enjoying solo singing sessions, Karaoke Eternal on Klutch.sh provides an always-available platform for music and entertainment.