60 lines
1.8 KiB
Docker
60 lines
1.8 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
|
|
|
|
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 cd frontend && trunk build --release -j 1
|
|
RUN cd backend && cargo build --release -j 1
|
|
|
|
COPY . /usr/src/app
|
|
RUN cp .prod .env
|
|
RUN cd frontend && trunk build --release -j 1
|
|
RUN cd backend && cargo build --release -j 1
|
|
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /usr/src/app
|
|
COPY --from=builder /usr/src/app/backend/target/wasm32-unknown-unknown/release/booksman /usr/src/app/booksman
|
|
COPY --from=builder /usr/src/app/dist /usr/src/dist
|
|
COPY --from=builder /usr/src/app/.env /usr/src/app/.env
|
|
|
|
CMD booksman
|