Pikaraoke - Youtube-based karaoke KTV server. Official Docker image
50K+
PiKaraoke is a "KTV"-style karaoke song search and queueing system. It connects to your TV, and shows a QR code for computers and smartphones to connect to a web interface. From there, multiple users can seamlessly search your local track library, queue up songs, add an endless selection of new karaoke tracks from YouTube, and more. Works on Raspberry Pi, OSX, Windows, and Linux!
If you want to support this project with a little monetary tip, it's much appreciated:

This version runs headless pikaraoke splash screen. You'll need a browser host to connect to it and start queueing songs.
Github project is here: https://github.com/vicwomg/pikaraoke
docker run vicwomg/pikaraoke:latest
CLI arguments can be appended to the end of the command.
Create the following docker-compose.yml file
version: '3.8'
services:
pikaraoke:
# --- BUILD OPTION ---
# To build locally, uncomment the build section:
# build:
# context: .
# dockerfile: build_scripts/docker/Dockerfile
# --- IMAGE OPTION ---
# Default: Pulls the pre-built image from Docker Hub
image: vicwomg/pikaraoke:latest
container_name: PiKaraoke
# --- COMMAND CONFIGURATION ---
# -u: Required for the QR code to work on other devices.
# Replace <YOUR_LAN_IP> with your computer's actual IP (e.g., 192.168.1.50)
# --config-file-path: Ensures settings are saved to the mounted volume
command: >
-u http://<YOUR_LAN_IP>:5555
# --- TIMEZONE ---
# Set this to your own zone, from the "TZ identifier" column of
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
environment:
- TZ=Europe/London
# --- VOLUMES ---
# The <local_directory>:<container_directory> format is used.
# You should only need to change <local_directory>
# You can change the <local_directory> to an absolute path (e.g., C:/Music or /home/pi/Music)
# Relative current directory paths (./) are used here for simplicity.
volumes:
- ./songs:/app/pikaraoke-songs # Songs will be saved here
- ./data:/home/pikaraoke/.pikaraoke # Data, including your config, will be saved here
# --- PORTS ---
# Map host port 5555 to container port 5555
ports:
- "5555:5555"
restart: unless-stopped
# Bridge mode is required for cross-platform compatibility (Win/Mac/Linux)
network_mode: bridge
# Logging limits to prevent disk filling
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Edit <YOUR_LAN_IP> and </PATH/TO/LOCAL/SONGS/DIR> to match your host's configuration. You may want to experiment with network_mode: host which may save you the trouble of manually specifying the IP and ports.
If you're hosting this on a server behind DNS, you'll need to change the whole --url parameter to match the desired URL for the pikaraoke endpoint. Port 5555 should be open on your server.
Then run docker compose up
Content type
Image
Digest
sha256:d37f15321…
Size
243.9 MB
Last updated
about 1 month ago
docker pull vicwomg/pikaraoke