60 lines
2.5 KiB
Docker
60 lines
2.5 KiB
Docker
FROM rust:slim as builder
|
|
|
|
WORKDIR /usr/src/app
|
|
ENV CARGO_BUILD_JOBS=1
|
|
|
|
RUN mkdir backend && mkdir backend/src && mkdir backend/api/ && mkdir backend/entity/ && mkdir backend/migration/ && mkdir backend/orm/ && mkdir backend/search/ && mkdir backend/api/src && mkdir backend/entity/src && mkdir backend/migration/src && mkdir backend/orm/src && mkdir backend/search/src
|
|
COPY ./dummy.rs ./dummy.rs
|
|
RUN cp dummy.rs /usr/src/app/backend/src/main.rs && cp dummy.rs /usr/src/app/backend/api/src/main.rs && cp dummy.rs /usr/src/app/backend/entity/src/lib.rs && cp dummy.rs /usr/src/app/backend/migration/src/lib.rs && cp dummy.rs /usr/src/app/backend/orm/src/lib.rs && cp dummy.rs /usr/src/app/backend/search/src/lib.rs
|
|
|
|
COPY ./backend/Cargo.toml /usr/src/app/backend
|
|
COPY ./backend/api/Cargo.toml /usr/src/app/backend/api/Cargo.toml
|
|
COPY ./backend/entity/Cargo.toml /usr/src/app/backend/entity/Cargo.toml
|
|
COPY ./backend/migration/Cargo.toml /usr/src/app/backend/migration/Cargo.toml
|
|
COPY ./backend/orm/Cargo.toml /usr/src/app/backend/orm/Cargo.toml
|
|
COPY ./backend/search/Cargo.toml /usr/src/app/backend/search/Cargo.toml
|
|
|
|
RUN apt-get update -y && apt-get install -y pkg-config openssl libssl-dev
|
|
RUN cd backend && cargo build --release
|
|
COPY backend /usr/src/app/backend
|
|
COPY .prod /usr/src/app/.prod
|
|
RUN cp .prod .env
|
|
RUN cd backend && cargo build --release
|
|
|
|
#######################
|
|
#FROM rust:alpine as builder-frontend
|
|
|
|
#WORKDIR /usr/src/app
|
|
|
|
#RUN rustup target add wasm32-unknown-unknown
|
|
#ENV CARGO_BUILD_JOBS=1
|
|
#RUN mkdir frontend && mkdir frontend/src && mkdir frontend/css
|
|
#RUN cargo install wasm-bindgen-cli && cargo install --locked trunk
|
|
|
|
#COPY ./dummy.rs /usr/src/app/frontend/src/main.rs
|
|
#COPY ./frontend/Cargo.toml /usr/src/app/frontend
|
|
#COPY ./frontend/index.html /usr/src/app/frontend/
|
|
#COPY ./frontend/css/index.css /usr/src/app/frontend/css
|
|
#COPY ./frontend/Trunk.toml /usr/src/app/frontend/
|
|
|
|
#RUN cd frontend && cargo install && trunk build --release
|
|
#COPY frontend /usr/src/app/frontend
|
|
#COPY .prod /usr/src/app/.prod
|
|
#RUN cp .prod .env
|
|
#RUN cd frontend && cargo install && trunk build --release
|
|
|
|
#######################
|
|
#FROM alpine:latest
|
|
FROM debian:bullseye-slim
|
|
|
|
WORKDIR /usr/src/app
|
|
COPY --from=builder /usr/src/app/backend/target/release/backend /usr/src/app/booksman
|
|
COPY ./dist /usr/src/dist
|
|
#COPY --from=builder-frontend /usr/src/app/dist /usr/src/dist
|
|
COPY --from=builder /usr/src/app/.env /usr/src/app/.env
|
|
RUN mkdir /data && mkdir /data/db && mkdir /data/images
|
|
RUN chmod +x /usr/src/app/booksman
|
|
RUN apt-get update -y && apt-get install -y curl
|
|
|
|
CMD ./booksman
|