A decentralized music tracking and discovery platform built on AT Protocol 馃幍
listenbrainz spotify atproto lastfm musicbrainz scrobbling
TypeScript 39.8%
Rust 14.6%
Pkl 2.6%
MDX 0.5%
CSS 0.2%
Shell 0.2%
JavaScript 0.2%
Dockerfile 0.2%
Kotlin 0.1%
Batchfile 0.1%
Nix 0.1%
HTML 0.1%
Other 41.4%
913 14 0

Clone this repository

https://tangled.org/rocksky.app/rocksky
git@tangled.org:rocksky.app/rocksky

For self-hosted knots, clone URLs may differ based on your setup.

README.md

Rocksky#

ci discord

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

Preview

馃摝 Prerequisites#

馃殌 Getting Started#

IMPORTANT

Self-hosting or running Rocksky locally is still difficult at this stage. Parts of the API are still tied to Xata Postgres, and a full migration to standard Postgres is ongoing. Until this migration is complete, expect setup to be non-trivial.

  1. Clone the repository:
 git clone https://github.com/tsirysndr/rocksky
 cd rocksky
  1. Install dependencies:
    npm install -g turbo
    bun install
    bun run build:raichu
    
  2. 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
  1. Start the Docker containers:
    docker compose up
    
  2. Run the database migrations:
    turbo db:migrate --filter=@rocksky/api
    
  3. Start Analytics API:
    turbo dev:analytics
    
  4. Start jetstream:
    turbo dev:jetstream
    
  5. 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.