5f5f6af531
Co-authored-by: K <kelseydrhoda@gmail.com>
39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
FROM clux/muslrust:1.57.0 as chef
|
|
WORKDIR /siwe-oidc
|
|
RUN cargo install cargo-chef
|
|
|
|
FROM chef as dep_planner
|
|
COPY ./src/ ./src/
|
|
COPY ./Cargo.lock ./
|
|
COPY ./Cargo.toml ./
|
|
COPY ./siwe-oidc.toml ./
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
FROM chef as dep_cacher
|
|
COPY --from=dep_planner /siwe-oidc/recipe.json recipe.json
|
|
RUN cargo chef cook --release --recipe-path recipe.json
|
|
|
|
FROM node:16-alpine as node_builder
|
|
ADD --chown=node:node ./static /siwe-oidc/static
|
|
ADD --chown=node:node ./js/ui /siwe-oidc/js/ui
|
|
WORKDIR /siwe-oidc/js/ui
|
|
RUN npm install
|
|
RUN npm run build
|
|
|
|
FROM chef as builder
|
|
COPY --from=dep_cacher /siwe-oidc/target/ ./target/
|
|
COPY --from=dep_cacher $CARGO_HOME $CARGO_HOME
|
|
COPY --from=dep_planner /siwe-oidc/ ./
|
|
RUN cargo build --release
|
|
|
|
FROM alpine
|
|
COPY --from=builder /siwe-oidc/target/x86_64-unknown-linux-musl/release/siwe-oidc /usr/local/bin/
|
|
WORKDIR /siwe-oidc
|
|
RUN mkdir -p ./static
|
|
COPY --from=node_builder /siwe-oidc/static/ ./static/
|
|
COPY --from=builder /siwe-oidc/siwe-oidc.toml ./
|
|
EXPOSE 8000
|
|
ENTRYPOINT ["siwe-oidc"]
|
|
LABEL org.opencontainers.image.source https://github.com/spruceid/siwe-oidc
|
|
LABEL org.opencontainers.image.description "OpenID Connect Identity Provider for Sign-In with Ethereum"
|