From 7896dace9fcf47f8e36e20515e7a85f50f2e85da Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Thu, 3 Aug 2023 16:05:48 +0530 Subject: [PATCH] feat: docker img --- .dockerignore | 7 +++++ .gitignore | 5 ++++ ...84b6fdff395c09bd63011bc8d28b09cd55e32.json | 17 +++++++++++ Dockerfile | 28 +++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 .dockerignore create mode 100644 .sqlx/query-5d59a2fc2e04273e22b9949031084b6fdff395c09bd63011bc8d28b09cd55e32.json create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ca59757 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +/target +db +db.sqlite db.sqlite-shm db.sqlite-wal +graph/ +run2.sh run3.sh run.sh +venv/ +.env diff --git a/.gitignore b/.gitignore index 921ae3e..ca59757 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ /target db +db.sqlite db.sqlite-shm db.sqlite-wal +graph/ +run2.sh run3.sh run.sh +venv/ +.env diff --git a/.sqlx/query-5d59a2fc2e04273e22b9949031084b6fdff395c09bd63011bc8d28b09cd55e32.json b/.sqlx/query-5d59a2fc2e04273e22b9949031084b6fdff395c09bd63011bc8d28b09cd55e32.json new file mode 100644 index 0000000..46919ee --- /dev/null +++ b/.sqlx/query-5d59a2fc2e04273e22b9949031084b6fdff395c09bd63011bc8d28b09cd55e32.json @@ -0,0 +1,17 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO logs (string, salt, time, difficulty) VALUES ($1, $2, $3, $4) ON CONFLICT(difficulty) DO NOTHING;", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Varchar", + "Varchar", + "Int4", + "Int4" + ] + }, + "nullable": [] + }, + "hash": "5d59a2fc2e04273e22b9949031084b6fdff395c09bd63011bc8d28b09cd55e32" +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6f77399 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: 2023 Aravinth Manivannan +# +# SPDX-License-Identifier: AGPL-3.0-or-later +FROM rust:latest as planner +RUN cargo install cargo-chef +WORKDIR /src +COPY . /src/ +RUN cargo chef prepare --recipe-path recipe.json + +FROM rust:latest as cacher +WORKDIR /src/ +RUN cargo install cargo-chef +COPY --from=planner /src/recipe.json recipe.json +RUN cargo chef cook --release --recipe-path recipe.json + +FROM rust:latest as rust +WORKDIR /src +COPY . . +COPY --from=cacher /src/target target +RUN cargo build --release + +FROM debian:bullseye as powd +LABEL org.opencontainers.image.source https://git.batsense.net/mcaptcha/powd +RUN useradd -ms /bin/bash -u 1001 powd +WORKDIR /home/powd +COPY --from=rust /src/target/release/powd /usr/local/bin/ +USER powd +CMD [ "/usr/local/bin/powd" ]