33 lines
1 KiB
Docker
33 lines
1 KiB
Docker
FROM clux/muslrust:stable as chef
|
|
USER root
|
|
RUN cargo install cargo-chef
|
|
WORKDIR /ezidam
|
|
|
|
FROM chef AS planner
|
|
COPY Cargo.toml .
|
|
COPY Cargo.lock .
|
|
COPY crates crates
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
FROM chef AS builder
|
|
COPY --from=planner /ezidam/recipe.json recipe.json
|
|
RUN cargo chef cook --release --target x86_64-unknown-linux-musl --recipe-path recipe.json
|
|
COPY --from=planner /ezidam/Cargo.toml .
|
|
COPY --from=planner /ezidam/Cargo.lock .
|
|
COPY --from=planner /ezidam/crates crates
|
|
COPY logo logo
|
|
RUN cargo build --release --target x86_64-unknown-linux-musl --package ezidam --bin ezidam
|
|
|
|
FROM alpine:3.17.2
|
|
COPY --from=builder /ezidam/target/x86_64-unknown-linux-musl/release/ezidam /ezidam/ezidam
|
|
COPY crates/ezidam/static /ezidam/static
|
|
COPY crates/ezidam/templates /ezidam/templates
|
|
ENV ROCKET_CLI_COLORS=0
|
|
ENV ROCKET_ADDRESS=0.0.0.0
|
|
ENV ROCKET_PORT=8000
|
|
ENV ROCKET_DATABASES='{ezidam={url="/ezidam/database/ezidam.sqlite"}}'
|
|
EXPOSE 8000
|
|
WORKDIR /ezidam
|
|
ENTRYPOINT ["/ezidam/ezidam"]
|
|
|
|
LABEL maintainer="Philippe Loctaux <p@philippeloctaux.com>"
|