{"id":15145810,"url":"https://github.com/thomasevano/musickeeper","last_synced_at":"2026-01-20T13:00:51.876Z","repository":{"id":217018105,"uuid":"742900753","full_name":"Thomasevano/musickeeper","owner":"Thomasevano","description":"win back control on music","archived":false,"fork":false,"pushed_at":"2026-01-13T19:03:12.000Z","size":1011,"stargazers_count":12,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T21:35:15.736Z","etag":null,"topics":["adonisjs","apple-music","deezer","hexagonal-architecture","music","music-manager","musicmanager","shadcn-ui","soundcloud","spotify","svelte","sveltekit","tailwindcss","tidal","typescript","youtube-music"],"latest_commit_sha":null,"homepage":"https://musickeeper.app","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Thomasevano.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-13T17:51:47.000Z","updated_at":"2026-01-13T19:02:44.000Z","dependencies_parsed_at":"2024-08-29T18:56:40.486Z","dependency_job_id":"39f1e836-f37c-4a5f-a05f-e64f3ab8685a","html_url":"https://github.com/Thomasevano/musickeeper","commit_stats":{"total_commits":49,"total_committers":1,"mean_commits":49.0,"dds":0.0,"last_synced_commit":"39c4113c7c1e03f84ea317717c2f432ad990916f"},"previous_names":["thomasevano/music-manager","thomasevano/musickeeper"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Thomasevano/musickeeper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thomasevano%2Fmusickeeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thomasevano%2Fmusickeeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thomasevano%2Fmusickeeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thomasevano%2Fmusickeeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thomasevano","download_url":"https://codeload.github.com/Thomasevano/musickeeper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thomasevano%2Fmusickeeper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28603402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["adonisjs","apple-music","deezer","hexagonal-architecture","music","music-manager","musicmanager","shadcn-ui","soundcloud","spotify","svelte","sveltekit","tailwindcss","tidal","typescript","youtube-music"],"created_at":"2024-09-26T11:43:03.085Z","updated_at":"2026-01-20T13:00:51.830Z","avatar_url":"https://github.com/Thomasevano.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MusicKeeper\n\n⚠️ THIS PROJECT IS STILL IN DEVELOPMENT ⚠️\n\n## Use it on your own\n\nGenerate an app key with AdonisJS\n\n```bash\nnode ace generate:key\n```\n\n### SelfHost MusicKeeper using Docker\n\nyou can use the docker-compose.yml file or this one\n\n```yaml\nservices:\n  musickeeper:\n    build: ghcr.io/thomasevano/musickeeper:latest\n    container_name: musickeeper\n    ports:\n      - '8080:8080'\n    environment:\n      - PORT=8080\n      - APP_KEY=\n      - SESSION_DRIVER=memory\n      - VITE_APP_NAME=MusicKeeper\n      - MB_APP_CONTACT_EMAIL= # contact email for MusicBrainz\n```\n\n###  Use Locally\n\n```bash\ngit clone https://github.com/thomasevano/musickeeper.git\ncd musickeeper\npnpm install\ncp .env.example .env\n```\n\nEdit the `.env` file with the Spotify credentials of the app you created on the Spotify developer dashboard([you can find documentation to create one here](https://github.com/thomasevano/musickeeper/wiki/How-to-create-a-Spotify-app))\n\nThen run the app\n\n```bash\npnpm build\n```\n\nYou can now access the app on \u003chttp://127.0.0.1:3333\u003e\n\n## FAQ\n\n### What ?\n\nMusicKeeper is a music manager app that help you manage, extract your music between different streaming platforms and why not in the future, legally and easily buy the music you loves to finally own back your music\n\n### Why ?\n\n- You got music recommandations by friends, online communities, etc but you lost them.\n- You want to take back control on your music, own the files and why not exit from music providers\n\n### Features\n\n- [x] Connect your Spotify account\n- [x] Extract your playlists as text files (available in [v0.1.0](https://github.com/Thomasevano/musickeeper/tree/v0.1.0) only)\n- [x] Listen later list (available in v0.2.0 \u003e=)\n  - [x] Tracks\n  - [x] Albums\n  - [ ] Artists\n  - [ ] Playlists\n- [ ] Sort Listen later list\n- [ ] Do not depend on Spotify API\n\n## 📝 License\n\nCopyright © 2025 [Thomas Evano](https://github.com/thomasevano).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasevano%2Fmusickeeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomasevano%2Fmusickeeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasevano%2Fmusickeeper/lists"}