README.md
Rama main · réplica de lectura del repositorio original.
<p align="center">
<img src="https://raw.githubusercontent.com/christofsteel/syng/refs/heads/main/resources/icons/hicolor/512x512/apps/rocks.syng.Syng.png"
height="130">
_Easily host karaoke events_
<p align="center">
[](https://matrix.to/#/#syng:matrix.org)
[](https://floss.social/@syng)
[](https://pypi.org/project/syng/)
[](https://flathub.org/apps/rocks.syng.Syng)
[](https://www.gnu.org/licenses/agpl-3.0.en.html)
[](https://syng.rocks)
[](https://git.k-fortytwo.de/christofsteel/syng)
**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](https://mpv.io/) for playback and can therefore play a variety of file formats, such as `mp3+cdg`, `webm`, `mp4`, ...
Join our [matrix room](https://matrix.to/#/#syng:matrix.org) or follow us on [mastodon](https://floss.social/@syng) for update notifications and support.
# Screenshots
<img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng.png" alt="Main Window" height=200/> <img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng_advanced.png" alt="Main Window (Advanced)" height=200/>
<img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng_web2.png" alt="Web Interface" height=200/> <img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng_mobile_search.png" alt="Web Interface on Mobile" height=200/>
<img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng_player_next_up.png" alt="Player (next up)" height=200/> <img src="https://raw.githubusercontent.com/christofsteel/syng/efe134a7312bdea9ef42cae47c74dcb14cca44f3/resources/screenshots/syng_player_song.png" alt="Player playing a song" height=200/>
# Client
[](https://flathub.org/apps/rocks.syng.Syng)
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](https://flathub.org/apps/rocks.syng.Syng).
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](https://mpv.io/) installed on machine of the playback client. Additionally, since version 2.2.1, you also need to have [deno](https://github.com/denoland/deno/) installed for proper YouTube support.
The Syng.Rocks! client is also packaged for Arch Linux in the [Arch Linux user repository](https://aur.archlinux.org/packages/syng-client). The package is maintaned by *topas-rec* and not by the Syng.Rocks developers.
### Windows
Windows support is experimental, but you can download the current version from [Releases](https://github.com/christofsteel/syng/releases). No installation necessary, you can just run the `exe`.
## Usage
See [Website](https://site.syng.rocks).
# 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[server]
and then run via:
syng server
The server is also automatically available if you install the client via FlatPak.
## 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.
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](https://aur.archlinux.org/packages/syng-server). The package is maintaned by *topas-rec* and not by the Syng.Rocks developers.
## Configuration
See [Website](https://site.syng.rocks).