{"id":19235176,"url":"https://github.com/willkirkmanm/music","last_synced_at":"2025-04-06T08:14:28.611Z","repository":{"id":242429060,"uuid":"778388578","full_name":"WillKirkmanM/music","owner":"WillKirkmanM","description":"ParsonLabs Music is the Self Hosted Audio streaming alternative to YouTube Music, Spotify \u0026 Apple Music, providing Unrestricted Access to your library in Uncompressed, Lossless Quality — Head to https://music.parson.dev to get started.","archived":false,"fork":false,"pushed_at":"2025-03-13T10:51:30.000Z","size":10983,"stargazers_count":116,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T07:08:58.556Z","etag":null,"topics":["hacktoberfest","lossless","music","rust","self-hosted"],"latest_commit_sha":null,"homepage":"https://try.parson.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WillKirkmanM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-03-27T16:19:07.000Z","updated_at":"2025-03-29T06:30:01.000Z","dependencies_parsed_at":"2024-06-26T23:15:14.867Z","dependency_job_id":"b96336ff-acb4-4149-8a02-e121171e0942","html_url":"https://github.com/WillKirkmanM/music","commit_stats":{"total_commits":1444,"total_committers":1,"mean_commits":1444.0,"dds":0.0,"last_synced_commit":"dc982291a8751dbdc8952da9d3896d2435fd41e2"},"previous_names":["willkirkmanm/music"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fmusic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fmusic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fmusic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fmusic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WillKirkmanM","download_url":"https://codeload.github.com/WillKirkmanM/music/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247451667,"owners_count":20940944,"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":["hacktoberfest","lossless","music","rust","self-hosted"],"created_at":"2024-11-09T16:16:10.429Z","updated_at":"2025-04-06T08:14:28.604Z","avatar_url":"https://github.com/WillKirkmanM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://avatars.githubusercontent.com/u/138057124?s=200\u0026v=4\" /\u003e\r\n\u003c/p\u003e\r\n\u003ch1 align=\"center\"\u003eParsonLabs Music\u003c/h1\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://www.pwa-shields.com/1.0.0/series/certified/purple.svg\" alt=\"PWA Shields\" height=\"20\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003ch4 align=\"center\"\u003e\r\n  \u003ca href=\"#get-started\"\u003eInstall\u003c/a\u003e\r\n  ·\r\n  \u003ca href=\"https://docs.parsonlabs.com/\"\u003eDocumentation\u003c/a\u003e\r\n  ·\r\n  \u003ca href=\"https://github.com/WillKirkmanM/music/releases\"\u003eReleases\u003c/a\u003e\r\n\u003c/h4\u003e\r\n\r\n\u003cp align=\"center\"\u003eParsonLabs Music is the Self Hosted Audio streaming alternative to YouTube Music, Spotify \u0026 Apple Music, providing Unrestricted Access to your library in Uncompressed, Lossless Quality\u003c/p\u003e\r\n\r\n\u003cimg width=\"1280\" alt=\"music-new\" src=\"https://github.com/user-attachments/assets/cbc8e303-24b3-4cec-b65b-5af4ed91ddc0\" /\u003e\r\n\r\n\u003cimg width=\"1280\" alt=\"plm-album\" src=\"https://github.com/user-attachments/assets/14a27996-51d7-40a9-b1fd-a125f912630b\" /\u003e\r\n\u003cimg width=\"1280\" alt=\"PL Music Eminem\" src=\"https://github.com/user-attachments/assets/3d8e6a70-5c2f-46e6-ad0f-0d69630e52a4\" /\u003e\r\n\r\n![home-w](https://github.com/user-attachments/assets/6e905e19-aca6-408e-a117-c077bf2be8e4)\r\n![home-te](https://github.com/user-attachments/assets/24260d6e-fd56-4df5-86da-3f9cdf925611)\r\n![explore-page](https://github.com/user-attachments/assets/dc913ca6-df90-40ea-9025-1180bb60655f)\r\n![album_showcase_wca](https://github.com/user-attachments/assets/8af6d273-a61c-496d-9f11-a87d2d902ab5)\r\n![library-showcase](https://github.com/user-attachments/assets/09974ffa-7ea6-483a-aaa8-0f86ffff078a)\r\n![music-album-md](https://github.com/user-attachments/assets/7c19b7db-f427-4864-899a-0cb42aa3ea82)\r\n![pfp-showcase](https://github.com/user-attachments/assets/a72c56f3-a5fa-4c07-9f99-045c9648a46a)\r\n![genres-showcase](https://github.com/user-attachments/assets/9c85421f-a96a-42ae-9747-7efc23c6bd16)\r\n![music-video-home](https://github.com/user-attachments/assets/398a49fd-a569-480f-89b5-0c57f73b526f)\r\n![plm-complete](https://github.com/user-attachments/assets/b5b012e3-7e91-4a33-b932-a04d68d14aee)\r\n![genre-selection](https://github.com/user-attachments/assets/e00e86f8-1bf5-4070-a2ab-f2fa79d0fcec)\r\n![music-video](https://github.com/user-attachments/assets/3471f42f-e476-4069-ac9c-0b150332b950)\r\n![home-plm](https://github.com/user-attachments/assets/996d0285-cf17-4e07-98fc-f6bf482308f1)\r\n![updated-lyrics](https://github.com/user-attachments/assets/ecbecfc3-4f97-4cfc-9127-f8479d235ab8)\r\n![updated-artist](https://github.com/user-attachments/assets/b84e3dfe-5fe3-412c-b151-4c027ee23782)\r\n![ArtistAlbumSearch](https://github.com/user-attachments/assets/87dfe43e-c5c3-4058-a6e7-4dbb2ab8f8c6)\r\n![profile](https://github.com/user-attachments/assets/71a8a3c0-4069-4617-b2fc-518fb095a05c)\r\n![search](https://github.com/user-attachments/assets/0fa243ad-da6a-4e46-a561-71636ad7a712)\r\n![lyrics-showcase](https://github.com/WillKirkmanM/music/assets/98240335/7aa78513-03c9-4ee0-912c-f5dfc816247b)\r\n![music-artist-showcase](https://github.com/WillKirkmanM/music/assets/98240335/76d1c540-d5cd-4ab0-9ecf-7986e0d84e31)\r\n![music-in-your-library](https://github.com/WillKirkmanM/music/assets/98240335/3b99a0c6-640e-4f38-918f-956a3ad0fd25)\r\n![music-playlist](https://github.com/WillKirkmanM/music/assets/98240335/ee6319a1-1b7d-4896-86b6-5a886234e2b5)\r\n\r\n## Get Started\r\n\r\n### Docker\r\n\r\n#### Docker Run\r\n```sh\r\ndocker run -d \\\r\n  --name parsonlabs-music \\\r\n  -p 1993:1993 \\\r\n  -v \"/path/to/config:/ParsonLabsMusic\" \\\r\n  -v \"/path/to/music:/music\" \\\r\n  --restart unless-stopped \\\r\n  ghcr.io/willkirkmanm/music\r\n```\r\n\r\n#### Docker Compose\r\n```yaml\r\nservices:\r\n  music-server:\r\n    image: ghcr.io/willkirkmanm/music\r\n    container_name: parsonlabs-music\r\n    ports:\r\n      - \"1993:1993\"\r\n    volumes:\r\n      - \"/path/to/config:/ParsonLabsMusic\"\r\n      - \"/path/to/music:/music\"\r\n    restart: unless-stopped\r\n```\r\n\r\n### Download Precompiled Binaries\r\n\r\nYou can download the precompiled binaries from the [releases page](https://github.com/WillKirkmanM/music/releases).\r\n\r\n- [Windows (x86_64)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-x86_64-pc-windows-gnu.zip)\r\n- [Linux (x86_64)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-x86_64-unknown-linux-gnu.tar.gz)\r\n- [Linux (x86_64 MUSL)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-x86_64-unknown-linux-musl.tar.gz)\r\n- [Linux (ARMv7 gnueabihf)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-armv7-unknown-linux-gnueabihf.tar.gz)\r\n- [Linux (ARMv7 MUSL)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-armv7-unknown-linux-musleabihf.tar.gz)\r\n- [Linux (ARM gnueabihf)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-arm-unknown-linux-gnueabihf.tar.gz)\r\n- [Linux (ARM MUSL)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-arm-unknown-linux-musleabihf.tar.gz)\r\n- [Linux (ARM64)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-aarch64-unknown-linux-gnu.tar.gz)\r\n- [Linux (ARM64 MUSL)](https://github.com/WillKirkmanM/music/releases/download/v1.6.0-alpha/music-server-aarch64-unknown-linux-musl.tar.gz)\r\n\r\n### Compile From Source\r\n\r\n### One Liner\r\n```\r\ngit clone https://github.com/WillKirkmanM/music \u0026\u0026 cd music \u0026\u0026 OS=$(uname -s) \u0026\u0026 if [ \"$OS\" = \"Linux\" ]; then if [ -f /etc/debian_version ]; then sudo apt-get update \u0026\u0026 sudo apt-get install -y --no-install-recommends sqlite3 libsqlite3-dev wget make build-essential pkg-config libssl-dev unzip \u0026\u0026 wget https://www.nasm.us/pub/nasm/releasebuilds/2.16/nasm-2.16.tar.gz \u0026\u0026 tar xzf nasm-2.16.tar.gz \u0026\u0026 cd nasm-2.16 \u0026\u0026 ./configure \u0026\u0026 make \u0026\u0026 sudo make install \u0026\u0026 cd .. \u0026\u0026 rm -rf nasm-2.16 nasm-2.16.tar.gz \u0026\u0026 sudo apt-get install -y libssl1.1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn; elif [ -f /etc/arch-release ]; then sudo pacman -Syu --noconfirm sqlite wget make base-devel pkgconf openssl nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn; elif [ -f /etc/fedora-release ]; then sudo dnf install -y sqlite sqlite-devel wget make gcc gcc-c++ kernel-devel pkgconf-pkg-config openssl-devel nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn; elif [ -f /etc/gentoo-release ]; then sudo emerge --sync \u0026\u0026 sudo emerge --ask sqlite wget make gcc pkgconfig openssl nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn; else echo \"Unsupported Linux distribution\" \u0026\u0026 exit 1; fi; else echo \"Unsupported OS\" \u0026\u0026 exit 1; fi \u0026\u0026 bun run build --filter music \u0026\u0026 cargo build --package music-server --release \u0026\u0026 cargo run --package music-server --release\r\n```\r\n\r\n### Clone the Repository\r\n```\r\ngit clone https://github.com/WillKirkmanM/music\r\n```\r\n\r\n### Install Dependencies\r\n#### Ubuntu\r\n```\r\nsudo apt-get update \u0026\u0026 apt-get install -y --no-install-recommends sqlite3 libsqlite3-dev wget make build-essential pkg-config libssl-dev unzip \u0026\u0026 wget https://www.nasm.us/pub/nasm/releasebuilds/2.16/nasm-2.16.tar.gz \u0026\u0026 tar xzf nasm-2.16.tar.gz \u0026\u0026 cd nasm-2.16 \u0026\u0026 ./configure \u0026\u0026 make \u0026\u0026 make install \u0026\u0026 cd .. \u0026\u0026 rm -rf nasm-2.16 nasm-2.16.tar.gz \u0026\u0026 apt-get install -y libssl1.1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn\r\n```\r\n#### Arch Linux\r\n```\r\nsudo pacman -Syu --noconfirm sqlite wget make base-devel pkgconf openssl nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn\r\n```\r\n#### Fedora\r\n```\r\nsudo dnf install -y sqlite sqlite-devel wget make gcc gcc-c++ kernel-devel pkgconf-pkg-config openssl-devel nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn\r\n```\r\n\r\n#### Gentoo\r\n```\r\nsudo emerge --sync \u0026\u0026 sudo emerge --ask sqlite wget make gcc pkgconfig openssl nasm unzip \u0026\u0026 curl -fsSL https://bun.sh/install | bash \u0026\u0026 export BUN_INSTALL=\"$HOME/.bun\" \u0026\u0026 export PATH=\"$BUN_INSTALL/bin:$PATH\" \u0026\u0026 bun install --global yarn\r\n```\r\n\r\n### Build the Website\r\n```\r\nbun run build --filter music \r\n```\r\n### Run the Server\r\n```\r\ncargo run --package music-server --release -- -p 1993\r\n```\r\n\r\n\u003e [!NOTE]  \r\n\u003e **Done! 🥳**.\r\n\u003e Head to [http://localhost:1993/](http://localhost:1993/) and setup your music library.\r\n\r\n## Documentation\r\n\u003cp align=\"center\"\u003e\r\n  Any additional troubleshooting information can be found in the Documentation https://docs.parsonlabs.com.\r\n\u003c/p\u003e\r\n\r\n![documentation](https://github.com/user-attachments/assets/94dd3cda-0a4b-4536-82b9-9d341360b8e1)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillkirkmanm%2Fmusic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillkirkmanm%2Fmusic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillkirkmanm%2Fmusic/lists"}