Files
booksman/Dockerfile
2022-12-02 12:31:30 +05:30

68 lines
2.1 KiB
Docker

FROM rust:alpine as builder
RUN apk update
RUN apk add --no-cache openssl-dev musl-dev
WORKDIR /usr/src/app
RUN rustup target add wasm32-unknown-unknown
#RUN export CARGO_BUILD_JOBS = 1
ENV CARGO_BUILD_JOBS=1
RUN cargo install trunk
RUN mkdir frontend
RUN mkdir frontend/src
RUN mkdir backend
RUN mkdir backend/src
RUN mkdir backend/api/
RUN mkdir backend/entity/
RUN mkdir backend/migration/
RUN mkdir backend/orm/
RUN mkdir backend/search/
RUN mkdir backend/api/src
RUN mkdir backend/entity/src
RUN mkdir backend/migration/src
RUN mkdir backend/orm/src
RUN mkdir backend/search/src
COPY ./frontend/Cargo.toml /usr/src/app/frontend
COPY ./dummy.rs /usr/src/app/frontend/src/main.rs
COPY ./backend/Cargo.toml /usr/src/app/backend
COPY ./dummy.rs /usr/src/app/backend/src/main.rs
COPY ./backend/api/Cargo.toml /usr/src/app/backend/api/Cargo.toml
COPY ./dummy.rs /usr/src/app/backend/api/src/lib.rs
COPY ./backend/entity/Cargo.toml /usr/src/app/backend/entity/Cargo.toml
COPY ./dummy.rs /usr/src/app/backend/entity/src/lib.rs
COPY ./backend/migration/Cargo.toml /usr/src/app/backend/migration/Cargo.toml
COPY ./dummy.rs /usr/src/app/backend/migration/src/lib.rs
COPY ./backend/orm/Cargo.toml /usr/src/app/backend/orm/Cargo.toml
COPY ./dummy.rs /usr/src/app/backend/orm/src/lib.rs
COPY ./backend/search/Cargo.toml /usr/src/app/backend/search/Cargo.toml
COPY ./dummy.rs /usr/src/app/backend/search/src/lib.rs
RUN mkdir frontend/css
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 && trunk build --release
RUN cd backend && cargo build --release
COPY . /usr/src/app
RUN cp .prod .env
#RUN cd frontend && trunk build --release
RUN cd backend && cargo build --release
FROM alpine:latest
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 /usr/src/app/dist /usr/src/dist
COPY --from=builder /usr/src/app/.env /usr/src/app/.env
RUN chmod +x /usr/src/app/booksman
CMD /usr/src/app/booksman