Skip to content

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
└── .dockerignore

Creating 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 8080

Creating the .dockerignore File

.git
.github
*.md
LICENSE
.gitignore
*.log
.DS_Store
.env

Deploying Karaoke Eternal on Klutch.sh

Once your repository is prepared, follow these steps to deploy Karaoke Eternal:

    Push Your Repository to GitHub

    Terminal window
    git init
    git add Dockerfile .dockerignore
    git commit -m "Initial Karaoke Eternal deployment configuration"
    git remote add origin https://github.com/yourusername/karaoke-eternal-deploy.git
    git push -u origin main

    Create 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:

    • Select HTTP as the traffic type
    • Set the internal port to 8080

    Attach Persistent Volumes

    Add the following volumes for data persistence:

    Mount PathRecommended SizePurpose
    /config1 GBSQLite database and configuration
    /media50+ GBKaraoke 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:

  1. Create an admin account to manage the system
  2. Navigate to Preferences to configure settings
  3. Add your media folders pointing to /media
  4. 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.mp3

You can customize the naming pattern in settings if your files follow a different convention.

Hosting a Karaoke Party

To host a karaoke event:

  1. Open the Player: Navigate to the player view on your display device
  2. Share the URL: Give guests your Klutch.sh URL to browse songs
  3. Queue Management: Guests add songs, you control playback
  4. 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

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.