Self hosted all-in-one karaoke software https://syng.rocks
Find a file
Christoph Stahl bf4788743e
All checks were successful
Check / mypy (push) Successful in 1m12s
Check / ruff (push) Successful in 24s
Removed not used attribute in Entry
2025-12-30 13:10:31 +01:00
.forgejo/workflows Increased windows version number 2025-12-11 22:27:43 +01:00
.github/workflows Workflow cleanup 2025-11-22 11:26:40 +01:00
docs Preparation for 2.0 release 2023-12-18 18:56:03 +01:00
resources Updated flatpak builds 2025-12-11 20:27:49 +01:00
syng Removed not used attribute in Entry 2025-12-30 13:10:31 +01:00
typings First draft implementation for "next up" popup (See Issue #13) 2025-06-23 22:21:53 +02:00
.gitignore buildscripts for appimage 2025-06-22 22:33:59 +02:00
.gitlab-ci.yml Fixed python version to 3.12 for mypy and ruff checking. 2024-10-09 16:22:18 +02:00
.python-version Updated yt-dlp, version bump for syng 2025-12-11 19:06:54 +01:00
LICENSE LICENSE hinzufügen 2022-12-04 14:54:21 +00:00
pyproject.toml Updated yt-dlp, version bump for syng 2025-12-11 19:06:54 +01:00
README.md Branding syng -> Syng.Rocks! 2025-12-30 12:55:05 +01:00
requirements-client.txt updated requirements 2025-12-11 20:26:30 +01:00
requirements.txt updated requirements 2025-12-11 20:26:30 +01:00
uv.lock Updated yt-dlp, version bump for syng 2025-12-11 19:06:54 +01:00

Easily host karaoke events

Matrix Mastodon Follow PyPI - Version Flathub Version PyPI - License Website Forgejo Pipeline Status

Syng.Rocks! is an all-in-one karaoke software, consisting of a backend server, a web frontend and a playback client. Karaoke performers can search a library using the web frontend, and add songs to the queue. The playback client retrieves songs from the backend server and plays them in order.

You can play songs from YouTube, an S3 storage or simply share local files.

The playback client uses mpv for playback and can therefore play a variety of file formats, such as mp3+cdg, webm, mp4, ...

Join our matrix room or follow us on mastodon for update notifications and support.

Screenshots

Main Window Main Window (Advanced)

Web Interface Web Interface on Mobile

Player (next up) Player playing a song

Client

Get in on Flathub

To host a karaoke event, you only need to use the playback client. You can use the publicly available instance at https://syng.rocks as your server.

Installation

Linux

The preferred way to install the client is via Flathub.

Alternatively Syng.Rocks! can be installed via the Python Package Index (PyPI). When installing the client it is mandatory to include the client flag:

pip install 'syng[client]'

This installs both the playback client (syng client) and a configuration GUI (syng gui).

Note: When installing via PyPI, you need to have libmpv installed on machine of the playback client. Additionally, since version 2.2.1, you also need to have deno installed for proper YouTube support.

The Syng.Rocks! client is also packaged for Arch Linux in the Arch Linux user repository

Windows

Windows support is experimental, but you can download the current version from Releases. No installation necessary, you can just run the exe.

Usage

See Website.

Server

If you want to host your own Syng.Rocks! server, you can do that, but you can also use the publicly available Syng.Rocks! instance at https://syng.rocks.

Python Package Index

You can install the server via pip:

pip install syng

and then run via:

syng server

The server is also automatically available if you install the client.

There exists one optional dependency for the server: alt-profanity-check. If this package is installed, each username is checked for profanity, otherwise no such check happens.

Docker

Alternatively you can run the server using docker. It listens on port 8080 and reads a key file at /app/keys.txt when configured as private or restricted.

docker run --rm -v /path/to/your/keys.txt:/app/keys.txt -p 8080:8080 ghcr.io/christofsteel/syng -H 0.0.0.0

Arch Linux

The Syng.Rocks! server is also packaged for Arch Linux in the Arch Linux user repository

Configuration

See Website.