{"id":13406540,"url":"https://github.com/bhj/KaraokeEternal","last_synced_at":"2025-03-14T11:30:29.174Z","repository":{"id":39897774,"uuid":"58885535","full_name":"bhj/KaraokeEternal","owner":"bhj","description":"Open karaoke party system","archived":false,"fork":false,"pushed_at":"2025-01-02T00:34:04.000Z","size":9130,"stargazers_count":508,"open_issues_count":10,"forks_count":74,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-03-09T12:38:38.772Z","etag":null,"topics":["cdgraphics","karaoke","karaoke-application","karaoke-event","karaoke-parties","karaoke-player","mp3","mp4","node","node-js","party","react","reactjs","self-hosted","sqlite"],"latest_commit_sha":null,"homepage":"https://www.karaoke-eternal.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bhj.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"bhj"}},"created_at":"2016-05-15T21:33:14.000Z","updated_at":"2025-03-03T08:55:56.000Z","dependencies_parsed_at":"2023-11-27T02:50:48.094Z","dependency_job_id":"5f187458-6dff-4bf6-a325-f2fcdbc5e67a","html_url":"https://github.com/bhj/KaraokeEternal","commit_stats":{"total_commits":3140,"total_committers":117,"mean_commits":"26.837606837606838","dds":0.2843949044585987,"last_synced_commit":"e0b65fa30893aa3e56b61ee98c8fd3eeab2db162"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhj%2FKaraokeEternal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhj%2FKaraokeEternal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhj%2FKaraokeEternal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhj%2FKaraokeEternal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhj","download_url":"https://codeload.github.com/bhj/KaraokeEternal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243569012,"owners_count":20312345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdgraphics","karaoke","karaoke-application","karaoke-event","karaoke-parties","karaoke-player","mp3","mp4","node","node-js","party","react","reactjs","self-hosted","sqlite"],"created_at":"2024-07-30T19:02:33.034Z","updated_at":"2025-03-14T11:30:29.161Z","avatar_url":"https://github.com/bhj.png","language":"TypeScript","funding_links":["https://github.com/sponsors/bhj"],"categories":["TypeScript","JavaScript","Applications"],"sub_categories":["🎧 Music (15)","Music","Audio"],"readme":"# Karaoke Eternal\n\nHost awesome karaoke parties where everyone can easily find and queue songs from their phone's browser. The player is also fully browser-based with support for MP3+G, MP4 videos and WebGL visualizations. The server is self-hosted and runs on nearly everything.\n\n[![Karaoke Eternal](/docs/assets/images/README.jpg?raw=true)](/docs/assets/images/README.jpg?raw=true)\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eApp in mobile browser (top) controlling player in Firefox/Chrome (bottom)\u003c/i\u003e\n\u003c/p\u003e\n\n## Features\n\n- Supports:\n  - MP3+G with Winamp/MilkDrop visualizations (WebGL 2)\n  - MP4 videos\n  - ReplayGain tags for volume normalization\n- Fast, modern mobile browser app designed for \"karaoke conditions\"\n- Multiple simultaneous rooms/queues (optionally password-protected)\n- Dynamic queues keep parties fair, fun and no-fuss\n- Fully self-hosted\n- No ads or telemetry\n\nMicrophones are *not* required since the player itself only outputs music - this allows your audio setup to be as simple or complex as you like. See the [F.A.Q.](https://www.karaoke-eternal.com/faq/#whats-the-recommended-audiomicrophone-setup) for more information.\n\n## Getting Started\n\n Karaoke Eternal basically has 3 parts. See [Getting Started](https://www.karaoke-eternal.com/docs/getting-started/) to get up and running step-by-step, or jump to the documentation for each part below:\n \n- **[Server:](https://www.karaoke-eternal.com/docs/karaoke-eternal-server/)** Runs on pretty much anything to serve the web app and your media files, including a Windows PC, Mac, or a dedicated server like a Raspberry Pi or Synology NAS.\n- **[App:](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/)** Fast, modern mobile web app designed for \"karaoke conditions\".\n- **[Player:](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/#player)** Just another part of the app, but meant to run fullscreen on the system handling audio/video for a [room](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/#rooms-admin-only)\n\n## Installation\n\nThere are several [installation methods](https://www.karaoke-eternal.com/docs/karaoke-eternal-server/#installation) available for Karaoke Eternal Server.\n\n## Discord \u0026 Support\n\nJoin the [Karaoke Eternal Discord Server](https://discord.gg/PgqVtFq) for general support and development chat, or just to say hi!\n\n## Contributing \u0026 Development\n\nContributions are welcome! Please join the `#dev` channel of the [Discord Server](https://discord.gg/PgqVtFq) before embarking on major features; the project's scope is limited to ensure success.\n\nMake sure you have [Node.js](https://nodejs.org/en/) 16 or later, then:\n\n1. Fork and clone the repo\n2. `npm i`\n3. `npm run dev` and look for \"Web server running at\" for the **server URL**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhj%2FKaraokeEternal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhj%2FKaraokeEternal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhj%2FKaraokeEternal/lists"}