Skip to content

tsirysndr/rocksky

Rocksky

ci discord

A decentralized music tracking and discovery platform built on the AT Protocol 🎡 , see Rocksky.

Preview

✨ Features

🎡 Scrobbling APIs

  • Last.fm Compatible API – drop-in replacement for Last.fm scrobblers
  • ListenBrainz Compatible API – works with clients that support ListenBrainz

πŸ•’ 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

  • Top Artists, Tracks, and Albums – personalized charts of your listening habits
  • Shoutbox & Likes – interact with other listeners and share reactions

🌐 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

  • Search Engine – fast search powered by MeiliSearch

🚧 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

πŸš€ Getting Started

  1. Clone the repository:

    git clone git@tangled.sh: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 .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 the development server:
turbo dev --filter=@rocksky/api --filter=@rocksky/web

πŸ“š Documentation

View the full documentation

✍️ Feedback

This repository is the central place to collect feedback and issues related to Rocksky.

Please open an issue if you want to leave feedback. Feel free to also join our Discord server

🀝 Contributing

We would love to hear your feedback or suggestions. The best way to reach us is on Discord.

We also welcome pull requests into this repo. See CONTRIBUTING.md for information on setting up this repo locally.

About

A decentralized music tracking and discovery platform built on AT Protocol 🎡

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •