Sign inSign up

vicwomg/pikaraoke

By vicwomg

•Updated about 1 month ago

Pikaraoke - Youtube-based karaoke KTV server. Official Docker image

Image
0

50K+

vicwomg/pikaraoke repository overview

⁠Pikaraoke for Docker

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:
Buy Me A Coffee

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⁠

⁠Running pikaraoke

docker run vicwomg/pikaraoke:latest 

CLI arguments can be appended to the end of the command.

⁠docker-compose example

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

Tag summary

Content type

Image

Digest

sha256:d37f15321…

Size

243.9 MB

Last updated

about 1 month ago

docker pull vicwomg/pikaraoke