diff --git a/crates/analytics/Dockerfile b/crates/analytics/Dockerfile index a2b46a15..3d46b0c9 100644 --- a/crates/analytics/Dockerfile +++ b/crates/analytics/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ curl \ @@ -18,18 +18,18 @@ RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-lin WORKDIR /app -COPY ./crates/analytics ./crates/analytics +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p analytics +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/analytics /usr/local/bin/analytics +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so EXPOSE 7879 -CMD ["analytics"] +CMD ["rockskyd", "analytics", "serve"] diff --git a/crates/dropbox/Dockerfile b/crates/dropbox/Dockerfile index 2c60ea82..094c2623 100644 --- a/crates/dropbox/Dockerfile +++ b/crates/dropbox/Dockerfile @@ -1,23 +1,35 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/dropbox ./crates/dropbox +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p dropbox +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/dropbox /usr/local/bin/dropbox +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd + +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so EXPOSE 7881 -CMD ["dropbox"] +CMD ["rockskyd", "dropbox", "serve"] diff --git a/crates/googledrive/Dockerfile b/crates/googledrive/Dockerfile index 2df0ff25..ed7bc55a 100644 --- a/crates/googledrive/Dockerfile +++ b/crates/googledrive/Dockerfile @@ -1,23 +1,35 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/googledrive ./crates/googledrive +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p googledrive +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/googledrive /usr/local/bin/googledrive +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd + +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so EXPOSE 7880 -CMD ["googledrive"] +CMD ["rockskyd", "googledrive", "serve"] diff --git a/crates/jetstream/Dockerfile b/crates/jetstream/Dockerfile index 958fc821..b6ea5511 100644 --- a/crates/jetstream/Dockerfile +++ b/crates/jetstream/Dockerfile @@ -1,23 +1,33 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/jetstream ./crates/jetstream +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p jetstream +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/jetstream /usr/local/bin/jetstream +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd -EXPOSE 7880 +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so -CMD ["jetstream"] +CMD ["rockskyd", "jetstream"] diff --git a/crates/package.json b/crates/package.json index b75cf14d..71ac8ce4 100644 --- a/crates/package.json +++ b/crates/package.json @@ -1,15 +1,16 @@ { "name": "@rocksky/crates", "scripts": { - "dev:analytics": "cargo run -p analytics --release -- serve", - "dev:connect": "cargo run -p connect --release", - "dev:dropbox": "cargo run -p dropbox --release -- serve", - "dev:googledrive": "cargo run -p googledrive --release -- serve", - "dev:jetstream": "cargo run -p jetstream --release", - "dev:playlists": "cargo run -p playlists --release", - "dev:scrobbler": "cargo run -p scrobbler --release -- serve", - "dev:spotify": "cargo run -p spotify --release -- serve", - "dev:storage": "cargo run -p storage --release -- serve", - "dev:webscrobbler": "cargo run -p webscrobbler --release -- serve" + "dev:analytics": "cargo run -p rockskyd --release -- analytics serve", + "dev:connect": "cargo run -p rocksky-connect --release", + "dev:dropbox": "cargo run -p rockskyd --release -- dropbox serve", + "dev:googledrive": "cargo run -p rockskyd --release -- googledrive serve", + "dev:jetstream": "cargo run -p rockskyd --release -- jetstream", + "dev:playlists": "cargo run -p rockskyd --release -- playlist", + "dev:scrobbler": "cargo run -p rockskyd --release -- scrobbler", + "dev:spotify": "cargo run -p rockskyd --release -- spotify", + "dev:storage": "cargo run -p rocksky-storage --release -- serve", + "dev:webscrobbler": "cargo run -p rockskyd --release -- webscrobbler", + "dev:tracklist": "cargo run -p rockskyd --release -- tracklist" } } \ No newline at end of file diff --git a/crates/scrobbler/Dockerfile b/crates/scrobbler/Dockerfile index 9578538d..fff75251 100644 --- a/crates/scrobbler/Dockerfile +++ b/crates/scrobbler/Dockerfile @@ -1,23 +1,35 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/scrobbler ./crates/scrobbler +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p scrobbler +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/scrobbler /usr/local/bin/scrobbler +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd + +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so EXPOSE 7882 -CMD ["scrobbler"] +CMD ["rockskyd", "scrobbler"] diff --git a/crates/spotify/Dockerfile b/crates/spotify/Dockerfile index 040874bf..960224e4 100644 --- a/crates/spotify/Dockerfile +++ b/crates/spotify/Dockerfile @@ -1,21 +1,33 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/spotify ./crates/spotify +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p spotify +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/spotify /usr/local/bin/spotify +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd -CMD ["spotify"] +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so + +CMD ["rockskyd", "spotify"] diff --git a/crates/storage/Dockerfile b/crates/storage/Dockerfile index fdf10ac2..f85a9e50 100644 --- a/crates/storage/Dockerfile +++ b/crates/storage/Dockerfile @@ -1 +1 @@ -FROM rust:1.88-bookworm AS builder \ No newline at end of file +FROM rust:1.89-bookworm AS builder \ No newline at end of file diff --git a/crates/webscrobbler/Dockerfile b/crates/webscrobbler/Dockerfile index 67884568..b3a03af2 100644 --- a/crates/webscrobbler/Dockerfile +++ b/crates/webscrobbler/Dockerfile @@ -1,23 +1,35 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ + curl \ + wget \ + unzip \ libssl-dev \ pkg-config \ - build-essential + build-essential \ + cmake +RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \ + unzip libduckdb-linux-amd64.zip && \ + mv libduckdb.so /usr/lib && \ + mv libduckdb_static.a /usr/lib && \ + mv duckdb.h /usr/include && \ + mv duckdb.hpp /usr/include WORKDIR /app -COPY ./crates/webscrobbler ./crates/webscrobbler +COPY ./crates ./crates COPY Cargo.toml . COPY Cargo.lock . -RUN cargo build --release -p webscrobbler +RUN cargo build --release -p rockskyd FROM debian:bookworm-slim -COPY --from=builder /app/target/release/webscrobbler /usr/local/bin/webscrobbler +COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd + +COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so EXPOSE 7883 -CMD ["webscrobbler"] +CMD ["rockskyd", "webscrobbler"] diff --git a/crates/xataid-extension/Dockerfile b/crates/xataid-extension/Dockerfile index 2ce72202..22c1bfc2 100644 --- a/crates/xataid-extension/Dockerfile +++ b/crates/xataid-extension/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.88-bookworm AS builder +FROM rust:1.89-bookworm AS builder RUN apt-get update && apt-get install -y \ libreadline-dev \ diff --git a/package.json b/package.json index 0063cba6..2e243712 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,17 @@ "pkl:eval": "cd apps/api && bun run pkl:eval", "pkl:gen": "cd apps/api && bun run pkl:gen", "lexgen": "cd apps/api && bun run lexgen", - "dev:analytics": "cargo run -p analytics --release -- serve", - "dev:connect": "cargo run -p connect --release", - "dev:dropbox": "cargo run -p dropbox --release -- serve", - "dev:googledrive": "cargo run -p googledrive --release -- serve", - "dev:jetstream": "cargo run -p jetstream --release", - "dev:playlists": "cargo run -p playlists --release", - "dev:scrobbler": "cargo run -p scrobbler --release -- serve", - "dev:spotify": "cargo run -p spotify --release -- serve", - "dev:storage": "cargo run -p storage --release -- serve", - "dev:webscrobbler": "cargo run -p webscrobbler --release -- serve", + "dev:analytics": "cargo run -p rockskyd --release -- analytics serve", + "dev:connect": "cargo run -p rocksky-connect --release", + "dev:dropbox": "cargo run -p rockskyd --release -- dropbox serve", + "dev:googledrive": "cargo run -p rockskyd --release -- googledrive serve", + "dev:jetstream": "cargo run -p rockskyd --release -- jetstream", + "dev:playlists": "cargo run -p rockskyd --release -- playlist", + "dev:scrobbler": "cargo run -p rockskyd --release -- scrobbler", + "dev:spotify": "cargo run -p rockskyd --release -- spotify", + "dev:storage": "cargo run -p rocksky-storage --release -- serve", + "dev:webscrobbler": "cargo run -p rockskyd --release -- webscrobbler", + "dev:tracklist": "cargo run -p rockskyd --release -- tracklist", "build:raichu": "cd crates/raichu && wasm-pack build --release --target web && cp -r pkg ../../apps/web/src" }, "workspaces": [ diff --git a/turbo.json b/turbo.json index 4ad99a1f..e0e4823f 100644 --- a/turbo.json +++ b/turbo.json @@ -119,6 +119,10 @@ "dev:webscrobbler": { "persistent": false, "cache": false + }, + "dev:tracklist": { + "persistent": false, + "cache": false } } } \ No newline at end of file