44 lines
998 B
Docker
44 lines
998 B
Docker
FROM rust:1.81-bookworm AS builder
|
|
|
|
RUN rustup default nightly
|
|
RUN rustup target add wasm32-unknown-unknown
|
|
|
|
RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
|
RUN cargo binstall trunk -y
|
|
RUN update-ca-certificates
|
|
|
|
RUN apt update
|
|
RUN apt install -y protobuf-compiler
|
|
|
|
WORKDIR /usr/src/knifer
|
|
|
|
COPY . /usr/src/knifer/
|
|
|
|
WORKDIR /usr/src/knifer/frontend
|
|
|
|
RUN mkdir ~/.ssh/
|
|
RUN ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
|
|
|
|
RUN trunk build --release --locked -v
|
|
|
|
WORKDIR /usr/src/knifer/
|
|
|
|
ENV FRONTEND_DIST_DIR=/root/knifer/static
|
|
RUN cargo build --release -p backend
|
|
|
|
FROM debian:bookworm
|
|
|
|
#
|
|
RUN apt update
|
|
Run apt install libssl3 ca-certificates -y
|
|
|
|
WORKDIR /root/knifer
|
|
|
|
COPY --from=builder /usr/src/knifer/frontend/dist/ /root/knifer/static
|
|
COPY --from=builder /usr/src/knifer/target/release/backend /root/knifer/backend
|
|
|
|
EXPOSE 3000
|
|
|
|
WORKDIR /root/knifer
|
|
ENTRYPOINT ["/root/knifer/backend"]
|