Show HN: Rocksky – Music scrobbling and discovery on the AT Protocol

Hacker News Top Products

Summary

Rocksky is a decentralized music tracking and discovery platform built on the AT Protocol, offering Last.fm and ListenBrainz compatible APIs and integrations with Spotify, Jellyfin, and more.

No content available
Original Article
View Cached Full Text

Cached at: 05/16/26, 06:41 PM

# rocksky.app/rocksky Source: [https://tangled.org/rocksky.app/rocksky](https://tangled.org/rocksky.app/rocksky) ### Configure Feed IssuesPull RequestsCommitsTags Select the types of activity you want to include in your feed\. A decentralized music tracking and discovery platform built on AT Protocol 🎵[rocksky\.app](https://rocksky.app/) spotifyatprotolastfmmusicbrainzscrobblinglistenbrainz ### Configure Feed IssuesPull RequestsCommitsTags Select the types of activity you want to include in your feed\. [1721](https://tangled.org/rocksky.app/rocksky/commits/main)[14](https://tangled.org/rocksky.app/rocksky/branches)[0](https://tangled.org/rocksky.app/rocksky/tags)### Clone this repository Use permalink HTTPS https://tangled\.org/rocksky\.app/rockskyhttps://tangled\.org/did:plc:cbczwmvvz7juuu3orgf6mlc4 SSH git@tangled\.org:rocksky\.app/rockskygit@tangled\.org:did:plc:cbczwmvvz7juuu3orgf6mlc4 For self\-hosted knots, clone URLs may differ based on your setup\. [Download tar\.gz](https://tangled.org/rocksky.app/rocksky/archive/main) [commits1721](https://tangled.org/rocksky.app/rocksky/commits/main) This covers the major threads: the full Search screen rewrite \(correct endpoint, flat hits shape, Feather icon\), MiniPlayer with Rockbox WebSocket controls and playback lock, app icon replaced with the Rocksky favicon, and sign\-in copy aligned with web/web\-mobile \(Handle label, atproto signup text, selfhosted\.social OAuth flow\)\. [![ci](https://camo.tangled.sh/786664f76a2a3130c973d6d4dde9dcc83418da425d6bc69d7da1f34531d64a65/68747470733a2f2f6769746875622e636f6d2f7473697279736e64722f726f636b736b792f616374696f6e732f776f726b666c6f77732f63692e796d6c2f62616467652e737667)](https://github.com/tsirysndr/rocksky/actions/workflows/ci.yml)[![discord](https://camo.tangled.sh/1c0d3f35b1362e12198cf0bdd1a19db27bbca29a0dd7b7278dedb13680df88c4/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f313130333732303930383130343932393332313f6c6162656c3d646973636f7264266c6f676f3d646973636f726426636f6c6f723d353836354632)](https://discord.gg/EVcBy2fVa3) A decentralized music tracking and discovery platform built on AT Protocol 🎵 , see[Rocksky](https://rocksky.app/)\. [![Open in Pocketenv](https://camo.tangled.sh/2c718ae1f6770f203c84ad3a0334ee057a81fcdae7187601e4f36eec859ff33e/68747470733a2f2f706f636b6574656e762e696f2f6f70656e2d696e2d706f636b6574656e762e737667)](https://pocketenv.io/new?repo=tangled:rocksky.app/rocksky) ![Preview](https://tangled.org/rocksky.app/rocksky/raw/main/.github/assets/preview.png) ## ✨ Features[\#](https://tangled.org/rocksky.app/rocksky#-features) ### 🎵 Scrobbling APIs[\#](https://tangled.org/rocksky.app/rocksky#-scrobbling-apis) - **Last\.fm Compatible API**– drop\-in replacement for Last\.fm scrobblers - **ListenBrainz Compatible API**– works with clients that support ListenBrainz ### 🕒 Playback & History[\#](https://tangled.org/rocksky.app/rocksky#-playback--history) - **Recently Played Timeline**– browse your listening history - **Stories View**– see what other users are playing in real time - **Stats**– visualize scrobbles per day ### 📊 User Insights[\#](https://tangled.org/rocksky.app/rocksky#-user-insights) - **Top Artists, Tracks, and Albums**– personalized charts of your listening habits - **Shoutbox & Likes**– interact with other listeners and share reactions ### 🌐 Client Integrations[\#](https://tangled.org/rocksky.app/rocksky#-client-integrations) - **Spotify**– detect now playing tracks and scrobble directly from Spotify - **Jellyfin**– track plays from your media server - **Pano Scrobbler**– Android/Linux/Windows support - **WebScrobbler**– scrobble directly from your browser ### 🔍 Search[\#](https://tangled.org/rocksky.app/rocksky#-search) - **Search Engine**– fast search powered by MeiliSearch ## 🚧 Coming Soon / Roadmap[\#](https://tangled.org/rocksky.app/rocksky#-coming-soon--roadmap) - **Webhooks**\- subscribe to scrobble events and integrate with Discord or your own apps - **Personalized Feeds**– discover music through community\-driven feed algorithms - **Last\.fm → Rocksky**Mirroring \(Future Scrobbles\) – automatically mirror new scrobbles from Last\.fm into Rocksky - **Rocksky Connect**– remote playback across devices \(similar to Spotify Connect\) - **Multi\-Source Libraries**– browse and scrobble from Google Drive, Dropbox, S3, FTP, and more - **Stream & Scrobble Your Own Music**– upload your library and play directly on Rocksky - **Extensions**– customize and extend Rocksky with your own logic - **Crossfade & Equalizer Settings Sync**– carry your playback preferences across devices ## 📦 Prerequisites[\#](https://tangled.org/rocksky.app/rocksky#-prerequisites) - Node\.js \(v22 or later\) - Deno - Rust - Go - Turbo - Docker - Wasm Pack[https://github\.com/drager/wasm\-pack](https://github.com/drager/wasm-pack) - DuckDB[https://duckdb\.org/docs/installation](https://duckdb.org/docs/installation)`1\.2\.0` - Spotify`SPOTIFY\_CLIENT\_ID`and`SPOTIFY\_CLIENT\_SECRET`from setup in[Spotify developer dashboard](https://developer.spotify.com/documentation/web-api/tutorials/getting-started) ## 🚀 Getting Started[\#](https://tangled.org/rocksky.app/rocksky#-getting-started) 1. Clone the repository: ``` git clone [email protected]:rocksky.app/rocksky cd rocksky ``` 2. Install dependencies: ``` npm install -g turbo bun install bun run build:raichu ``` 3. Set up the environment variables: ``` cp apps/api/.env.example apps/api/.env cp apps/web/.env.example apps/web/.env cp apps/feeds/.env.example apps/feeds/.env cp .env.example .env # Edit the .env files to add your configurations ``` 4. Start the Docker containers: ``` docker compose up ``` 5. Run the database migrations: ``` turbo db:migrate --filter=@rocksky/api ``` 6. Setup Spotify App: ``` # don't forget to set SPOTIFY_ENCRYPTION_KEY and SPOTIFY_ENCRYPTION_IV environment variables bun run spotify <client_id> <client_secret> ``` 7. Populate database \(Optional\): ``` bun run db:pgpull ``` 8. Start Analytics API: ``` bun run dev:analytics ``` 9. Start jetstream: ``` bun run dev:jetstream ``` 10. Start musicbrainz: ``` bun run mb ``` 1. Start feeds: ``` bun run feeds ``` 1. Start the development server: ``` turbo dev --filter=@rocksky/api --filter=@rocksky/web ``` ## 📚 Documentation[\#](https://tangled.org/rocksky.app/rocksky#-documentation) [View the full documentation](https://docs.rocksky.app/) ## ✍️ Feedback[\#](https://tangled.org/rocksky.app/rocksky#-feedback) This repository is the central place to collect feedback and issues related to[Rocksky](https://rocksky.app/)\. Please[**open an issue**](https://tangled.org/@rocksky.app/rocksky/issues/new)if you want to leave feedback\. Feel free to also join our[**Discord server**](https://discord.gg/EVcBy2fVa3) ## 🤝 Contributing[\#](https://tangled.org/rocksky.app/rocksky#-contributing) We would love to hear your feedback or suggestions\. The best way to reach us is on[Discord](https://discord.gg/EVcBy2fVa3)\. We also welcome pull requests into this repo\. See[CONTRIBUTING\.md](https://tangled.org/rocksky.app/rocksky/tree/main/CONTRIBUTING.md)for information on setting up this repo locally\.

Similar Articles

Show HN: Chiptune Radio

Hacker News Top

Chiptune Radio is a side project by Aleph Void, LLC that streams chiptune music composed for classic sound hardware via a continuous Twitch broadcast.

Bluesky Protocol Services

Hacker News Top

Bluesky launched Bluesky Protocol Services, a new brand/website for its public AT Protocol infrastructure, and introduced Jetstream v2 with Network Replay for historical data access, plus new TypeScript and Go SDKs.

corpus: self-hosted listenbrainz and last.fm frontend

Lobsters Hottest

Corpus is a self-hosted frontend for ListenBrainz and Last.fm that stores music scrobbles, metadata, and cover images with an interactive PureScript-based interface for exploring listening habits.

The NTS Radio Player brings the best of internet radio to your hi-fi

The Verge

NTS Radio and Atonemo have launched a $179 dedicated hardware player that streams NTS's hand-curated radio stations and supports other streaming services via AirPlay 2, Google Cast, Spotify Connect, and Tidal Connect, with 24-bit/192kHz audio output and a physical dial for tuning.