diff options
Diffstat (limited to '')
-rw-r--r-- | Dockerfile | 36 |
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"] |