Merge pull request #6 from foosinn/multistage-docker
Remove build packages from docker image by using multistage Dockerfile.
This commit is contained in:
@@ -5,44 +5,52 @@
|
|||||||
# This is the prefered way to build the release image, used by the
|
# This is the prefered way to build the release image, used by the
|
||||||
# end users, in production.
|
# end users, in production.
|
||||||
|
|
||||||
FROM docker.io/alpine:latest
|
FROM docker.io/alpine:latest as builder
|
||||||
|
|
||||||
RUN apk add --no-cache\
|
RUN apk add --no-cache --virtual .build cmake expat-dev g++ git libidn-dev \
|
||||||
g++\
|
make postgresql-dev python2 sqlite-dev udns-dev util-linux-dev
|
||||||
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 && \
|
||||||
RUN git clone https://github.com/randombit/botan.git && cd botan && ./configure.py --prefix=/usr && make -j8 && make install && rm -rf /botan
|
cd botan && \
|
||||||
|
./configure.py --prefix=/usr && \
|
||||||
|
make -j8 && \
|
||||||
|
make install
|
||||||
|
|
||||||
# Install biboumi
|
RUN git clone git://git.louiz.org/biboumi && \
|
||||||
RUN git clone git://git.louiz.org/biboumi && mkdir ./biboumi/build && cd ./biboumi/build &&\
|
mkdir ./biboumi/build && \
|
||||||
|
cd ./biboumi/build && \
|
||||||
cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
|
cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DWITH_BOTAN=1 \
|
-DWITH_BOTAN=1 \
|
||||||
-DWITH_SQLITE3=1 \
|
-DWITH_SQLITE3=1 \
|
||||||
-DWITH_LIBIDN=1 \
|
-DWITH_LIBIDN=1 \
|
||||||
-DWITH_POSTGRESQL=1\
|
-DWITH_POSTGRESQL=1 && \
|
||||||
&& make -j8 && make install && rm -rf /biboumi
|
make -j8 && \
|
||||||
|
make install
|
||||||
|
|
||||||
RUN adduser biboumi -D -h /home/biboumi
|
# ---
|
||||||
|
|
||||||
RUN mkdir /var/lib/biboumi
|
FROM docker.io/alpine:latest
|
||||||
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
|
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
|
WORKDIR /home/biboumi
|
||||||
USER biboumi
|
USER biboumi
|
||||||
|
|
||||||
CMD ["/usr/bin/biboumi", "/etc/biboumi/biboumi.cfg"]
|
CMD ["/usr/bin/biboumi", "/etc/biboumi/biboumi.cfg"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user