From e7c66c6ad53d8b1324c33872dcc03e13ab303551 Mon Sep 17 00:00:00 2001 From: mrbesen Date: Thu, 10 Mar 2022 15:16:30 +0100 Subject: [PATCH] dockerbasis --- .gitmodules | 3 +++ Dockerfile | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ entry.sh | 17 ++++++++++++++++ tictactoebot | 1 + 4 files changed, 76 insertions(+) create mode 100644 .gitmodules create mode 100644 Dockerfile create mode 100755 entry.sh create mode 160000 tictactoebot diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ed7dceb --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "tictactoebot"] + path = tictactoebot + url = https://git.mrbesen.de/MrBesen/tictactoebot.git diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6c56139 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,55 @@ + +FROM debian:bullseye as builder + +WORKDIR /app + +RUN printf "%s\n" "deb http://deb.debian.org/debian bullseye main" \ + "deb http://deb.debian.org/debian-security/ bullseye-security main" \ + "deb http://deb.debian.org/debian bullseye-updates main" \ + "deb http://deb.debian.org/debian bullseye-backports main" \ + >/etc/apt/sources.list + +RUN apt-get update \ + && apt-get -y install --no-install-recommends \ + make \ + # nlohmann-json3-dev=3.7.3-1 \ + libcurl4-openssl-dev \ + g++ \ + git \ + ca-certificates \ + && apt-get -qq -y autoremove --purge \ + && apt-get -qq clean \ + && rm -rf /var/lib/apt/lists/* + +COPY tictactoebot/ . + +# install json lib +RUN git clone --progress --verbose --branch "v3.7.3" --depth 1 https://github.com/nlohmann/json.git +RUN ln -s /app/json/include/nlohmann TAPI/include/ + +RUN make -j + + +FROM debian:bullseye + +WORKDIR /app + +RUN printf "%s\n" "deb http://deb.debian.org/debian bullseye main" \ + "deb http://deb.debian.org/debian-security/ bullseye-security main" \ + "deb http://deb.debian.org/debian bullseye-updates main" \ + "deb http://deb.debian.org/debian bullseye-backports main" \ + >/etc/apt/sources.list + +RUN apt-get update \ + && apt-get -y install --no-install-recommends \ + libcurl4-openssl-dev \ + ca-certificates \ + && apt-get -qq -y autoremove --purge \ + && apt-get -qq clean \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /app/tictactoebot ./ +COPY entry.sh ./ + +ENTRYPOINT ["/app/entry.sh"] +CMD [] \ No newline at end of file diff --git a/entry.sh b/entry.sh new file mode 100755 index 0000000..57446e6 --- /dev/null +++ b/entry.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +token="" +if [ "$#" -eq "1" ]; then + token="$1" +elif [ -v APITOKEN ]; then + token="$APITOKEN" +else + echo "expecting api token (APITOKEN env or argument)" + exit 1; +fi + +umask 277 +echo "token=$token" > tictactoebot.conf + + +./tictactoebot diff --git a/tictactoebot b/tictactoebot new file mode 160000 index 0000000..188db93 --- /dev/null +++ b/tictactoebot @@ -0,0 +1 @@ +Subproject commit 188db932fbd69b53380fc989104895920c833ece