Introducing Singularity: Your browser's karaoke stage! Gather your friends for a local multiplayer singing experience. No downloads necessary, just pure musical fun in your browser.
🎉 Play any Song which is available in the Ultrastar Deluxe File Format
🎉 Local Multiplayer
🎉 Offline Mode for slow or metered Internet Connections
🎉 The Game can be installed as a Progressive Web App
🎉 User Management
- Install Docker
- Create a
docker-compose.yml
File or clone the Repository and use the existingdocker-compose.yml
- When creating your own
docker-compose.yml
, paste in the following contents:services: singularity-db: image: mariadb:latest command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed volumes: - singularity-db:/var/lib/mysql restart: unless-stopped environment: TZ: UTC+1 MYSQL_ROOT_PASSWORD: <MYSQL-ROOT-PASSWORD> MYSQL_DATABASE: db MYSQL_USER: admin MYSQL_PASSWORD: <MYSQL-USER-PASSWORD> singularity: image: ghcr.io/singularity-game/singularity:main environment: APP_URL: <APP-URL> AUTHENTICATION_JWT_SECRET: <JWT-SECRET> DB_HOST: singularity-db DB_PORT: 3306 DB_USERNAME: admin DB_PASSWORD: <MYSQL-USER-PASSWORD> DB_DATABASE: db SMTP_SECURE: 'true' SMTP_HOST: <SMTP-HOST> SMTP_USERNAME: <SMTP-USER> SMTP_PASSWORD: <SMTP-PASSWORD> SMTP_FROM: <SMTP-FROM> SONG_DIRECTORY: songs volumes: - singularity-songs:/usr/src/app/songs ports: - 3333:3333 volumes: singularity-db: singularity-songs:
- Replace the Placeholders
<MYSQL-ROOT-PASSWORD>
,<MYSQL-USER-PASSWORD>
and<JWT-SECRET>
with secure Passwords! - Replace the Placeholder
<APP-URL>
with the URL your app will be running on. For examplehttp://localhost
- Replace the Placeholders
<SMTP-HOST>
,<SMTP-USER>
,<SMTP-PASSWORD>
and<SMTP-FROM>
with the credentials from your SMTP Server. Without an SMTP Server, Singularity will be unable to send emails and you will be unable to create new users.
- When creating your own
- Run the command
docker compose up
- Singularity will now be running on
<APP-URL>:3333
. - You can login to Singularity with the Username:
admin
and the Password:admin
.
You need Ultrastar Files to play Singularity. You can download Ultrastar TXT Files, Audio Files, Video Files and Cover Files from the following Song Databases:
You can upload songs to Singularity under Settings > Songs > + New Song
Once Uploaded the Song will be playable!
- This project is heavily inspired by Performous!
- This project uses the Pitch Detection library from Vocalous and pitch detection app!