1
This commit is contained in:
18
Dockerfile
18
Dockerfile
@@ -16,14 +16,25 @@ RUN --mount=type=cache,target=/root/.cargo/registry \
|
||||
cargo build --release --target aarch64-unknown-linux-musl -p rsh && \
|
||||
cp target/aarch64-unknown-linux-musl/release/rsh /rsh-aarch64
|
||||
|
||||
FROM rust:1.95.0-trixie AS builder
|
||||
FROM rust:1.95.0-trixie AS chef
|
||||
RUN cargo install cargo-chef --locked
|
||||
WORKDIR /build
|
||||
COPY --from=stub-amd64 /rsh-x86_64 /stubs/rsh-x86_64
|
||||
COPY --from=stub-arm64 /rsh-aarch64 /stubs/rsh-aarch64
|
||||
|
||||
FROM chef AS planner
|
||||
COPY Cargo.toml Cargo.lock* ./
|
||||
COPY crates ./crates
|
||||
RUN cargo chef prepare --recipe-path recipe.json
|
||||
|
||||
FROM chef AS builder
|
||||
COPY --from=stub-amd64 /rsh-x86_64 /stubs/rsh-x86_64
|
||||
COPY --from=stub-arm64 /rsh-aarch64 /stubs/rsh-aarch64
|
||||
COPY --from=planner /build/recipe.json recipe.json
|
||||
ENV RSH_STUB_X86_64=/stubs/rsh-x86_64 \
|
||||
RSH_STUB_AARCH64=/stubs/rsh-aarch64
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
cargo chef cook --release -p rsh-backend --recipe-path recipe.json
|
||||
COPY Cargo.toml Cargo.lock* ./
|
||||
COPY crates ./crates
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/build/target \
|
||||
cargo build --release -p rsh-backend && \
|
||||
@@ -38,7 +49,6 @@ COPY --from=builder /usr/local/bin/rsh-backend /usr/local/bin/rsh-backend
|
||||
ENV RSH_DATA=/var/lib/rsh \
|
||||
RSH_BIND=0.0.0.0:7777 \
|
||||
RSH_LOG=info
|
||||
USER 10001
|
||||
EXPOSE 7777
|
||||
VOLUME ["/var/lib/rsh"]
|
||||
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/rsh-backend"]
|
||||
|
||||
Reference in New Issue
Block a user