This commit is contained in:
2026-05-12 23:19:12 +09:00
parent b19d9d25f7
commit cde37d516b
21 changed files with 634 additions and 52 deletions

View File

@@ -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"]