From 102d25afafde93e9f61b5ab2e7d528548ee22687 Mon Sep 17 00:00:00 2001 From: Mo8it Date: Sat, 24 Dec 2022 20:17:58 +0100 Subject: [PATCH] Add Containerfile --- .containerignore | 2 ++ Containerfile | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 .containerignore create mode 100644 Containerfile diff --git a/.containerignore b/.containerignore new file mode 100644 index 0000000..1acb065 --- /dev/null +++ b/.containerignore @@ -0,0 +1,2 @@ +/dev_data/ +/target/ diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..c9d8583 --- /dev/null +++ b/Containerfile @@ -0,0 +1,25 @@ +FROM docker.io/library/rust:alpine AS chef +RUN apk add musl-dev +RUN cargo install cargo-chef +WORKDIR app + +FROM chef AS planner +COPY . . +RUN cargo chef prepare --recipe-path recipe.json + +FROM chef AS builder +RUN apk add musl-dev sqlite-dev +COPY --from=planner /app/recipe.json recipe.json +RUN cargo chef cook --release --recipe-path recipe.json +COPY . . +RUN cargo build --release --bin git-webhook-client + +FROM docker.io/library/alpine:latest AS runtime +WORKDIR app +ARG data_dir=/volumes/data +ENV DATABASE_URL=$data_dir/db/db.sqlite +ENV GWC_CONFIG_FILE=$data_dir/config.yaml +RUN apk add git-lfs sqlite-dev npm zola && \ + git lfs install +COPY --from=builder /app/target/release/git-webhook-client /usr/local/bin/git-webhook-client +CMD ["git-webhook-client"] \ No newline at end of file