+35
crates/tracklist/Dockerfile
+35
crates/tracklist/Dockerfile
···
1
+
FROM rust:1.89-bookworm AS builder
2
+
3
+
RUN 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
+
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
18
+
19
+
WORKDIR /app
20
+
21
+
COPY ./crates ./crates
22
+
COPY Cargo.toml .
23
+
COPY Cargo.lock .
24
+
25
+
RUN cargo build --release -p rockskyd
26
+
27
+
FROM debian:bookworm-slim
28
+
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
32
+
33
+
EXPOSE 7884
34
+
35
+
CMD ["rockskyd", "tracklist"]