FROM rust:1-bookworm AS build WORKDIR /src COPY Cargo.toml Cargo.lock ./ COPY src ./src COPY web ./web RUN cargo build --release FROM debian:bookworm-slim RUN apt-get update \ && apt-get install -y --no-install-recommends iputils-ping ca-certificates \ && rm -rf /var/lib/apt/lists/* \ && useradd --system --uid 10001 --home /data labdeck \ && mkdir /data && chown labdeck /data COPY --from=build /src/target/release/labdeck /usr/local/bin/labdeck USER labdeck ENV LABDECK_ADDR=0.0.0.0:8787 LABDECK_DATA=/data VOLUME /data EXPOSE 8787 ENTRYPOINT ["labdeck"]