From fbd3d8c8ac8c9d9337169b423d935956db3229bf Mon Sep 17 00:00:00 2001 From: projectmoon Date: Wed, 2 Jun 2021 15:35:10 +0000 Subject: [PATCH] Add rustfmt to builder image for protobufs --- dicebot/Dockerfile | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 dicebot/Dockerfile diff --git a/dicebot/Dockerfile b/dicebot/Dockerfile new file mode 100644 index 0000000..6dc7621 --- /dev/null +++ b/dicebot/Dockerfile @@ -0,0 +1,35 @@ +# Builder image with development dependencies. +FROM bougyman/voidlinux:glibc as builder +RUN xbps-install -Syu +RUN xbps-install -Sy base-devel rustup cargo cmake wget gnupg +RUN xbps-install -Sy openssl-devel libstdc++-devel +RUN rustup-init -qy +RUN rustup component add rustfmt # Needed for protobuf building. + +# Install tini for signal processing and zombie killing +ENV TINI_VERSION v0.19.0 +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/local/bin/tini +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc /tini.asc +RUN gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 \ + && gpg --batch --verify /tini.asc /usr/local/bin/tini +RUN chmod +x /usr/local/bin/tini + +# Build dicebot +RUN mkdir -p /root/src +WORKDIR /root/src +ADD . ./ +RUN . /root/.cargo/env && cargo build --release + +# Final image +FROM bougyman/voidlinux:tiny +RUN xbps-install -Sy ca-certificates libstdc++ +COPY --from=builder \ + /root/src/target/release/dicebot \ + /usr/local/bin/ +COPY --from=builder \ + /usr/local/bin/tini \ + /usr/local/bin/ + +ENV XDG_CACHE_HOME "/cache" +ENV DATABASE_PATH "/cache/bot-db" +ENTRYPOINT [ "/usr/local/bin/tini", "-v", "--", "/usr/local/bin/dicebot", "/config/dicebot-config.toml" ]