A decentralized music tracking and discovery platform built on AT Protocol 馃幍
rocksky.app
spotify
atproto
lastfm
musicbrainz
scrobbling
listenbrainz
1FROM rust:1.89-bookworm AS builder
2
3RUN apt-get update && apt-get install -y \
4 curl \
5 wget \
6 unzip \
7 libssl-dev \
8 pkg-config \
9 build-essential \
10 cmake
11
12RUN 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
18
19WORKDIR /app
20
21COPY ./crates ./crates
22COPY Cargo.toml .
23COPY Cargo.lock .
24
25RUN cargo build --release -p rockskyd
26
27FROM debian:bookworm-slim
28
29COPY --from=builder /app/target/release/rockskyd /usr/local/bin/rockskyd
30
31COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so
32
33EXPOSE 7883
34
35CMD ["rockskyd", "webscrobbler"]