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

crates: set rockskyd as the main CLI entrypoint

+140 -64
+5 -5
crates/analytics/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 4 curl \ ··· 18 18 19 19 WORKDIR /app 20 20 21 - COPY ./crates/analytics ./crates/analytics 21 + COPY ./crates ./crates 22 22 COPY Cargo.toml . 23 23 COPY Cargo.lock . 24 24 25 - RUN cargo build --release -p analytics 25 + RUN cargo build --release -p rockskyd 26 26 27 27 FROM debian:bookworm-slim 28 28 29 - COPY --from=builder /app/target/release/analytics /usr/local/bin/analytics 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 30 30 31 31 COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 32 32 33 33 EXPOSE 7879 34 34 35 - CMD ["analytics"] 35 + CMD ["rockskyd", "analytics", "serve"]
+18 -6
crates/dropbox/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/dropbox ./crates/dropbox 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p dropbox 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/dropbox /usr/local/bin/dropbox 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 30 + 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 20 32 21 33 EXPOSE 7881 22 34 23 - CMD ["dropbox"] 35 + CMD ["rockskyd", "dropbox", "serve"]
+18 -6
crates/googledrive/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/googledrive ./crates/googledrive 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p googledrive 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/googledrive /usr/local/bin/googledrive 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 30 + 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 20 32 21 33 EXPOSE 7880 22 34 23 - CMD ["googledrive"] 35 + CMD ["rockskyd", "googledrive", "serve"]
+17 -7
crates/jetstream/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/jetstream ./crates/jetstream 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p jetstream 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/jetstream /usr/local/bin/jetstream 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 20 30 21 - EXPOSE 7880 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 22 32 23 - CMD ["jetstream"] 33 + CMD ["rockskyd", "jetstream"]
+11 -10
crates/package.json
··· 1 1 { 2 2 "name": "@rocksky/crates", 3 3 "scripts": { 4 - "dev:analytics": "cargo run -p analytics --release -- serve", 5 - "dev:connect": "cargo run -p connect --release", 6 - "dev:dropbox": "cargo run -p dropbox --release -- serve", 7 - "dev:googledrive": "cargo run -p googledrive --release -- serve", 8 - "dev:jetstream": "cargo run -p jetstream --release", 9 - "dev:playlists": "cargo run -p playlists --release", 10 - "dev:scrobbler": "cargo run -p scrobbler --release -- serve", 11 - "dev:spotify": "cargo run -p spotify --release -- serve", 12 - "dev:storage": "cargo run -p storage --release -- serve", 13 - "dev:webscrobbler": "cargo run -p webscrobbler --release -- serve" 4 + "dev:analytics": "cargo run -p rockskyd --release -- analytics serve", 5 + "dev:connect": "cargo run -p rocksky-connect --release", 6 + "dev:dropbox": "cargo run -p rockskyd --release -- dropbox serve", 7 + "dev:googledrive": "cargo run -p rockskyd --release -- googledrive serve", 8 + "dev:jetstream": "cargo run -p rockskyd --release -- jetstream", 9 + "dev:playlists": "cargo run -p rockskyd --release -- playlist", 10 + "dev:scrobbler": "cargo run -p rockskyd --release -- scrobbler", 11 + "dev:spotify": "cargo run -p rockskyd --release -- spotify", 12 + "dev:storage": "cargo run -p rocksky-storage --release -- serve", 13 + "dev:webscrobbler": "cargo run -p rockskyd --release -- webscrobbler", 14 + "dev:tracklist": "cargo run -p rockskyd --release -- tracklist" 14 15 } 15 16 }
+18 -6
crates/scrobbler/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/scrobbler ./crates/scrobbler 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p scrobbler 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/scrobbler /usr/local/bin/scrobbler 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 30 + 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 20 32 21 33 EXPOSE 7882 22 34 23 - CMD ["scrobbler"] 35 + CMD ["rockskyd", "scrobbler"]
+18 -6
crates/spotify/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/spotify ./crates/spotify 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p spotify 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/spotify /usr/local/bin/spotify 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 20 30 21 - CMD ["spotify"] 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 32 + 33 + CMD ["rockskyd", "spotify"]
+1 -1
crates/storage/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder
+18 -6
crates/webscrobbler/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 + curl \ 5 + wget \ 6 + unzip \ 4 7 libssl-dev \ 5 8 pkg-config \ 6 - build-essential 9 + build-essential \ 10 + cmake 7 11 12 + RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ 13 + unzip libduckdb-linux-amd64.zip && \ 14 + mv libduckdb.so /usr/lib && \ 15 + mv libduckdb_static.a /usr/lib && \ 16 + mv duckdb.h /usr/include && \ 17 + mv duckdb.hpp /usr/include 8 18 9 19 WORKDIR /app 10 20 11 - COPY ./crates/webscrobbler ./crates/webscrobbler 21 + COPY ./crates ./crates 12 22 COPY Cargo.toml . 13 23 COPY Cargo.lock . 14 24 15 - RUN cargo build --release -p webscrobbler 25 + RUN cargo build --release -p rockskyd 16 26 17 27 FROM debian:bookworm-slim 18 28 19 - COPY --from=builder /app/target/release/webscrobbler /usr/local/bin/webscrobbler 29 + COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd 30 + 31 + COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so 20 32 21 33 EXPOSE 7883 22 34 23 - CMD ["webscrobbler"] 35 + CMD ["rockskyd", "webscrobbler"]
+1 -1
crates/xataid-extension/Dockerfile
··· 1 - FROM rust:1.88-bookworm AS builder 1 + FROM rust:1.89-bookworm AS builder 2 2 3 3 RUN apt-get update && apt-get install -y \ 4 4 libreadline-dev \
+11 -10
package.json
··· 15 15 "pkl:eval": "cd apps/api && bun run pkl:eval", 16 16 "pkl:gen": "cd apps/api && bun run pkl:gen", 17 17 "lexgen": "cd apps/api && bun run lexgen", 18 - "dev:analytics": "cargo run -p analytics --release -- serve", 19 - "dev:connect": "cargo run -p connect --release", 20 - "dev:dropbox": "cargo run -p dropbox --release -- serve", 21 - "dev:googledrive": "cargo run -p googledrive --release -- serve", 22 - "dev:jetstream": "cargo run -p jetstream --release", 23 - "dev:playlists": "cargo run -p playlists --release", 24 - "dev:scrobbler": "cargo run -p scrobbler --release -- serve", 25 - "dev:spotify": "cargo run -p spotify --release -- serve", 26 - "dev:storage": "cargo run -p storage --release -- serve", 27 - "dev:webscrobbler": "cargo run -p webscrobbler --release -- serve", 18 + "dev:analytics": "cargo run -p rockskyd --release -- analytics serve", 19 + "dev:connect": "cargo run -p rocksky-connect --release", 20 + "dev:dropbox": "cargo run -p rockskyd --release -- dropbox serve", 21 + "dev:googledrive": "cargo run -p rockskyd --release -- googledrive serve", 22 + "dev:jetstream": "cargo run -p rockskyd --release -- jetstream", 23 + "dev:playlists": "cargo run -p rockskyd --release -- playlist", 24 + "dev:scrobbler": "cargo run -p rockskyd --release -- scrobbler", 25 + "dev:spotify": "cargo run -p rockskyd --release -- spotify", 26 + "dev:storage": "cargo run -p rocksky-storage --release -- serve", 27 + "dev:webscrobbler": "cargo run -p rockskyd --release -- webscrobbler", 28 + "dev:tracklist": "cargo run -p rockskyd --release -- tracklist", 28 29 "build:raichu": "cd crates/raichu && wasm-pack build --release --target web && cp -r pkg ../../apps/web/src" 29 30 }, 30 31 "workspaces": [
+4
turbo.json
··· 119 119 "dev:webscrobbler": { 120 120 "persistent": false, 121 121 "cache": false 122 + }, 123 + "dev:tracklist": { 124 + "persistent": false, 125 + "cache": false 122 126 } 123 127 } 124 128 }