diff options
author | louiz’ <louiz+github@louiz.org> | 2018-06-14 13:11:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-14 13:11:41 +0200 |
commit | 354c738dc3cacd302d6961617fbc69e128572470 (patch) | |
tree | d635ecaf203063cdcbef2ebdc6de5eb6f66720ac /docker | |
parent | 72c3324cf38f0173676f123ed4d8e3418c66f14b (diff) | |
parent | 3e0de8128d7ce6037e033bd42b54e7da0ab381ad (diff) | |
download | biboumi-354c738dc3cacd302d6961617fbc69e128572470.tar.gz biboumi-354c738dc3cacd302d6961617fbc69e128572470.tar.bz2 biboumi-354c738dc3cacd302d6961617fbc69e128572470.tar.xz biboumi-354c738dc3cacd302d6961617fbc69e128572470.zip |
Merge pull request #6 from foosinn/multistage-docker
Remove build packages from docker image by using multistage Dockerfile.
Diffstat (limited to 'docker')
-rw-r--r-- | docker/biboumi/alpine/Dockerfile | 72 |
1 files changed, 40 insertions, 32 deletions
diff --git a/docker/biboumi/alpine/Dockerfile b/docker/biboumi/alpine/Dockerfile index 0b59eb7..89c7223 100644 --- a/docker/biboumi/alpine/Dockerfile +++ b/docker/biboumi/alpine/Dockerfile @@ -5,44 +5,52 @@ # This is the prefered way to build the release image, used by the # end users, in production. +FROM docker.io/alpine:latest as builder + +RUN apk add --no-cache --virtual .build cmake expat-dev g++ git libidn-dev \ + make postgresql-dev python2 sqlite-dev udns-dev util-linux-dev + +RUN git clone https://github.com/randombit/botan.git && \ + cd botan && \ + ./configure.py --prefix=/usr && \ + make -j8 && \ + make install + +RUN git clone git://git.louiz.org/biboumi && \ + mkdir ./biboumi/build && \ + cd ./biboumi/build && \ + cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_BOTAN=1 \ + -DWITH_SQLITE3=1 \ + -DWITH_LIBIDN=1 \ + -DWITH_POSTGRESQL=1 && \ + make -j8 && \ + make install + +# --- + FROM docker.io/alpine:latest -RUN apk add --no-cache\ - g++\ - cmake\ - make\ - udns-dev\ - sqlite-dev\ - postgresql-dev\ - libuuid\ - util-linux-dev\ - expat-dev\ - libidn-dev\ - git\ - python2 - -# Install botan -RUN git clone https://github.com/randombit/botan.git && cd botan && ./configure.py --prefix=/usr && make -j8 && make install && rm -rf /botan - -# Install biboumi -RUN git clone git://git.louiz.org/biboumi && mkdir ./biboumi/build && cd ./biboumi/build &&\ - cmake .. -DCMAKE_INSTALL_PREFIX=/usr\ - -DCMAKE_BUILD_TYPE=Release\ - -DWITH_BOTAN=1\ - -DWITH_SQLITE3=1\ - -DWITH_LIBIDN=1\ - -DWITH_POSTGRESQL=1\ - && make -j8 && make install && rm -rf /biboumi - -RUN adduser biboumi -D -h /home/biboumi - -RUN mkdir /var/lib/biboumi -RUN chown -R biboumi:biboumi /var/lib/biboumi +RUN apk add --no-cache libidn libpq libstdc++ libuuid postgresql-libs \ + sqlite-libs udns expat ca-certificates + +COPY --from=builder /usr/bin/botan /usr/bin/botan +COPY --from=builder /usr/lib/libbotan* /usr/lib/ +COPY --from=builder /usr/lib/pkgconfig/botan-2.pc /usr/lib/pkgconfig/botan-2.pc + +COPY --from=builder /etc/biboumi /etc/biboumi +COPY --from=builder /usr/bin/biboumi /usr/bin/biboumi COPY ./biboumi.cfg /etc/biboumi/biboumi.cfg -RUN chown -R biboumi:biboumi /etc/biboumi + +RUN adduser biboumi -D -h /home/biboumi && \ + mkdir /var/lib/biboumi && \ + chown -R biboumi:biboumi /var/lib/biboumi && \ + chown -R biboumi:biboumi /etc/biboumi WORKDIR /home/biboumi USER biboumi CMD ["/usr/bin/biboumi", "/etc/biboumi/biboumi.cfg"] + |