aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Dockerfile
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2022-08-28 19:52:29 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2022-08-28 20:29:03 +0200
commit1b9bdac6d2b5c7f7911245947e903a3df3c04145 (patch)
treeb6129fc86c171349803bd828e4e10fd7a710c637 /Dockerfile
parentmake proper "error" messages (diff)
downloadcimple-1b9bdac6d2b5c7f7911245947e903a3df3c04145.tar.gz
cimple-1b9bdac6d2b5c7f7911245947e903a3df3c04145.zip
docker: add initial configuration
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile36
1 files changed, 36 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..368524b
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,36 @@
+FROM alpine:3.16 AS base
+
+ARG install_dir="/app/install"
+
+FROM base AS builder
+
+RUN apk add --no-cache bsd-compat-headers build-base clang cmake libgit2-dev
+
+ARG src_dir="/app/src"
+ARG build_dir="/app/build"
+ARG install_dir
+
+COPY [".", "$src_dir"]
+
+RUN mkdir -- "$build_dir" && \
+ cd -- "$build_dir" && \
+ cmake \
+ -D CMAKE_C_COMPILER=clang \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D "CMAKE_INSTALL_PREFIX=$install_dir" \
+ "$src_dir" && \
+ make -j install
+
+FROM base
+
+LABEL maintainer="Egor Tensin <Egor.Tensin@gmail.com>"
+
+RUN apk add --no-cache tini libgit2
+
+ARG install_dir
+COPY --from=builder ["$install_dir", "$install_dir"]
+
+WORKDIR "$install_dir/bin"
+
+ENTRYPOINT ["/sbin/tini", "--"]
+CMD ["./cimple-server"]