simplify_truths/Dockerfile
Martin Berg Alstad 4b6608fd4f
Using library and removed common functions (#3)
* Added lib from git and removed code which is in lib now

* NormalizePathLayer to remove trailing slash
2024-06-22 17:33:33 +02:00

43 lines
1015 B
Docker

# Creates a new cargo project, copies the Cargo.toml and Cargo.lock files to the new project,
# builds the project, and then copies the built binary to a new image.
FROM node:20.14.0 as static
COPY ./src/resources/static ./src/resources/static
WORKDIR /spec
COPY ./spec .
RUN npm install
RUN USER=root npm install -g @typespec/compiler && npm install -g @redocly/cli
RUN npm run tsp-compile && npm run redoc-build
FROM rust:1.79 as build
COPY --from=static ./src/resources/static ./static
RUN USER=root cargo new --bin simplify_truths
WORKDIR /simplify_truths
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
# this build step will cache your dependencies
RUN cargo build --release
RUN rm src/*.rs
COPY ./src ./src
RUN rm ./target/release/deps/simplify_truths*
RUN cargo build --release
FROM debian
LABEL authors="Martin Berg Alstad"
# copy the build artifact from the build stage
COPY --from=build /simplify_truths/target/release/simplify_truths .
EXPOSE 8000
CMD ["./simplify_truths"]