A self-hosted music library, including server and webui. Supports muitiple artists per track and album.
artist_relation.mp4
![截屏2024-08-09 22 02 18](https://private-user-images.githubusercontent.com/140488233/356626593-060fa715-df3c-40fd-8bee-f97b79d05a62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTkzLTA2MGZhNzE1LWRmM2MtNDBmZC04YmVlLWY5N2I3OWQwNWE2Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNDQ3Zjk1ZGUxYjRmYjEyNjIyZTE1ZDRlYWE0NWFlNzFhOWNjZDBhODEwODBlMzRhNWYxZjRjYTRlNTlhNzkwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ZyyCDy3Mqe4RK31EixKNJr3pJwyC3NtwTniNX8N4Mic)
![截屏2024-08-09 22 02 53](https://private-user-images.githubusercontent.com/140488233/356626575-ae94fddf-ff60-46b6-88fe-45dd7397eff8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTc1LWFlOTRmZGRmLWZmNjAtNDZiNi04OGZlLTQ1ZGQ3Mzk3ZWZmOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01Zjc4ZTkxNDIyYWE0ZTQ3NWYyNDU5ZTllOWU1MDYyNjY5MDlhNDlkMTM3OGVlMmUyZDExMDliZDUxZjkwODM4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Ar7KxtQc8AbGAx0DEexVes51OipxKSYzAT_MEPCxxGo)
![截屏2024-08-09 22 03 05](https://private-user-images.githubusercontent.com/140488233/356626557-52b080e7-3fe2-40ed-9827-689bc93c8546.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTU3LTUyYjA4MGU3LTNmZTItNDBlZC05ODI3LTY4OWJjOTNjODU0Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYTFhOTQ4YWE1OGY0N2Q3MTBmMzcxYThjZjZiODE3ZDI2ZTNiZjMwNzUyMTA5MDVhODFlOTBjODk5MjNhNWQ1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.q4-ryZ27Xyv416yeEC2AeHAzG1Iz0JKARjTw_2ViziI)
![截屏2024-08-09 22 03 55](https://private-user-images.githubusercontent.com/140488233/356626522-7b386ee1-3e2e-4bb3-ae81-9b096aa73d2e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTIyLTdiMzg2ZWUxLTNlMmUtNGJiMy1hZTgxLTliMDk2YWE3M2QyZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNDNlMjI2YzI3N2VkODc1NzM0ODA1MDdiMDYwZmE2OTQyODVhNWU1NDJiYjA5ZjUxNzc4NzIwYmZlYmZjNTA1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Lx0Kb2EGsyI1u4GeOjS3U68nCbCWTGpM8BdUyiex9o8)
![截屏2024-08-09 22 04 48](https://private-user-images.githubusercontent.com/140488233/356626494-edbc9f2e-bd6a-440d-8f22-2b3bd75ef7a3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NDk0LWVkYmM5ZjJlLWJkNmEtNDQwZC04ZjIyLTJiM2JkNzVlZjdhMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03MWMxMjNhNGI2ZTViMTU5MGY4NGYzMGRkMDg4ZjAwN2RmZGFkYWY3NDAwZDkxZmZjZmNmOTE2ZGRmZWQyNDA3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.us5DqIByWqAiIWA2ymq_hFaLmohZC3Afy7-LzNZkxOY)
![截屏2024-08-09 22 04 57](https://private-user-images.githubusercontent.com/140488233/356626395-2289b93e-414f-4afa-a0e3-ccfb0d3ab2fe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2Mzk1LTIyODliOTNlLTQxNGYtNGFmYS1hMGUzLWNjZmIwZDNhYjJmZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNjgxZGNlNzlhODk3ODcwZjhmNTJhZDY2YTFiOTg0YjYxM2U2MzFlMzBjMWQ1ZWFmMDZkZTVkZjcwOWI4ZjdmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Gn6vS7AtcbK8dt_OZ6Ry5qZXmIv9Wxw2FNQDnTSgGkU)
![截屏2024-08-09 22 05 27](https://private-user-images.githubusercontent.com/140488233/356626346-2924f478-ffc4-46da-8994-eb09ab19a3ce.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTU3MDcsIm5iZiI6MTczOTI1NTQwNywicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2MzQ2LTI5MjRmNDc4LWZmYzQtNDZkYS04OTk0LWViMDlhYjE5YTNjZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNjMwMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02ZDZiZGNhZTFlOGYzMDdiY2YxOTc1NmY1NjU0OWVjZTZiYjU0MmExMTQ3NDUzZWMxZDY5YmQ5YmI4NzU0YmUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.XzMNv1k-SkUFGIJACgyNmo5TTfS27uieo4sn6SxI2y4)
- Clone the repository
- Install all necessary python packages
pip3 install -r requirements.txt
- Run server
python3 server.py
- Goto settings page
- Enter your music folder and click Scan button
The programme splits artists with delimiters, so single artist with these delimiters in name will be splitted unintendedly.
- Goto settings page.
- Add a new artist with the single artist's name (e.g. A&B/C)
- Perform merge artist by name (or by uuid if you want) multiple times. (e.g. 1. merge A&B/C with A 2. merge A&B/C with B 3. merge A&B/C with C)
- Webui is avaliable at http://server_address:5010/
- APIs are at http://server_address:5010/api/