diff options
| author | Melonai <einebeere@gmail.com> | 2021-01-12 18:04:30 +0100 |
|---|---|---|
| committer | Melonai <einebeere@gmail.com> | 2021-01-12 18:04:30 +0100 |
| commit | 6e8a1117ddef390453d6b695c301d7f4d219f947 (patch) | |
| tree | c960d95454ce332bdbaaca95c21593e67948c3f5 /Dockerfile | |
| parent | fa1189658a911db852ba974a7382509fb4ffbb7c (diff) | |
| download | shorest-6e8a1117ddef390453d6b695c301d7f4d219f947.tar.zst shorest-6e8a1117ddef390453d6b695c301d7f4d219f947.zip | |
Full cacheable Docker deployment with database
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/Dockerfile b/Dockerfile index b9a177a..e003845 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,26 @@ -FROM ekidd/rust-musl-builder:latest AS rust -ADD --chown=rust:rust . ./ +FROM ekidd/rust-musl-builder:latest AS server-cache +WORKDIR /server +COPY server/Cargo.* ./ +RUN sudo mkdir src +RUN echo "fn main() {}" | sudo dd of=src/main.rs +RUN sudo chown rust:rust . RUN cargo build --release +RUN rm -f target/x86_64-unknown-linux-musl/release/deps/shorest* -FROM node:alpine -RUN apk --no-cache add ca-certificates -COPY --from=rust \ - /home/rust/ \ - /main -WORKDIR /main/src -RUN cd ./client && yarn install && yarn build; -RUN mv ./target/x86_64-unknown-linux-musl/release/shorest ./shorest -CMD ./shorest +FROM node:alpine as client +WORKDIR /client +COPY client/package*.json ./ +RUN yarn install +COPY client ./ +RUN yarn build + +FROM server-cache as server +WORKDIR /server +COPY server/src src +RUN cargo build --release +FROM alpine:latest +WORKDIR /shorest +COPY --from=client /client/build client/ +COPY --from=server /server/target/x86_64-unknown-linux-musl/release/shorest shorest +CMD ./shorest |
