From b74e58ff28189966c9e06d1b3a2a62c177ce480b Mon Sep 17 00:00:00 2001 From: syui Date: Mon, 28 Oct 2024 02:14:39 +0900 Subject: [PATCH] fix --- .../packages-rs/drainpipe/Dockerfile | 20 +++++++++++++++++++ .../packages-rs/drainpipe/docker-compose.yml | 9 +++++++++ 2 files changed, 29 insertions(+) create mode 100644 github/frontpage/packages-rs/drainpipe/Dockerfile create mode 100644 github/frontpage/packages-rs/drainpipe/docker-compose.yml diff --git a/github/frontpage/packages-rs/drainpipe/Dockerfile b/github/frontpage/packages-rs/drainpipe/Dockerfile new file mode 100644 index 0000000..590140e --- /dev/null +++ b/github/frontpage/packages-rs/drainpipe/Dockerfile @@ -0,0 +1,20 @@ +FROM rust:1.78-alpine AS builder + +RUN apk add libressl-dev musl-dev sqlite-dev + +WORKDIR /usr/src/unravel +COPY . . +# TODO: Use cargo-chef to cache dependencies compilation independently of the binary +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/root/target \ + cargo build --release --package drainpipe && \ + # Move the release binary to a folder to be copied to the final image. It can't be copied directly from the target folder because it's in a cache mount + # See https://gist.github.com/noelbundick/6922d26667616e2ba5c3aff59f0824cd?permalink_comment_id=4379948#gistcomment-4379948 + mv ./target/release /root + +FROM alpine:3.14 +COPY --from=builder /root/release/drainpipe / + +ENV DATABASE_URL="/drainpipedata/drainpipe.db" + +ENTRYPOINT ["/drainpipe"] diff --git a/github/frontpage/packages-rs/drainpipe/docker-compose.yml b/github/frontpage/packages-rs/drainpipe/docker-compose.yml new file mode 100644 index 0000000..d5e214a --- /dev/null +++ b/github/frontpage/packages-rs/drainpipe/docker-compose.yml @@ -0,0 +1,9 @@ +services: + drainpipe: + build: + dockerfile: ./packages-rs/drainpipe/Dockerfile + context: ../../ + env_file: + - ./.env.local + volumes: + - ./drainpipedata:/drainpipedata