@@ -1,10 +1,15 @@
|
||||
FROM rust:1.84-bookworm AS builder
|
||||
FROM rust:1.93-trixie AS builder
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends capnproto && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy workspace manifests first for dependency caching.
|
||||
COPY Cargo.toml Cargo.lock ./
|
||||
COPY crates/sq-grpc-interface/Cargo.toml crates/sq-grpc-interface/Cargo.toml
|
||||
COPY crates/sq-capnp-interface/Cargo.toml crates/sq-capnp-interface/Cargo.toml
|
||||
COPY crates/sq-capnp-interface/schema crates/sq-capnp-interface/schema
|
||||
COPY crates/sq-capnp-interface/build.rs crates/sq-capnp-interface/build.rs
|
||||
COPY crates/sq-models/Cargo.toml crates/sq-models/Cargo.toml
|
||||
COPY crates/sq-storage/Cargo.toml crates/sq-storage/Cargo.toml
|
||||
COPY crates/sq-cluster/Cargo.toml crates/sq-cluster/Cargo.toml
|
||||
@@ -13,7 +18,7 @@ COPY crates/sq-sdk/Cargo.toml crates/sq-sdk/Cargo.toml
|
||||
COPY crates/sq-sim/Cargo.toml crates/sq-sim/Cargo.toml
|
||||
|
||||
# Stub sources for dependency caching layer.
|
||||
RUN for d in crates/sq-grpc-interface crates/sq-models crates/sq-storage crates/sq-cluster crates/sq-sdk crates/sq-sim; do \
|
||||
RUN for d in crates/sq-grpc-interface crates/sq-capnp-interface crates/sq-models crates/sq-storage crates/sq-cluster crates/sq-sdk crates/sq-sim; do \
|
||||
mkdir -p $d/src && echo "" > $d/src/lib.rs; \
|
||||
done && \
|
||||
mkdir -p crates/sq-server/src && echo "fn main() {}" > crates/sq-server/src/main.rs
|
||||
@@ -28,13 +33,11 @@ RUN find crates -name "*.rs" -exec touch {} +
|
||||
|
||||
RUN cargo build --release -p sq-server
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||
FROM gcr.io/distroless/cc-debian13
|
||||
|
||||
COPY --from=builder /app/target/release/sq-server /usr/local/bin/sq-server
|
||||
|
||||
EXPOSE 6060 6062
|
||||
EXPOSE 6060 6062 6064
|
||||
|
||||
ENTRYPOINT ["sq-server"]
|
||||
CMD ["serve"]
|
||||
|
||||
Reference in New Issue
Block a user