52 lines
1.5 KiB
Docker
52 lines
1.5 KiB
Docker
# This Dockerfile creates a docker image running biboumi
|
|
#
|
|
# It is built by compiling the sources and all its dependencies
|
|
# directly inside the image.
|
|
# 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 curl-dev libidn-dev \
|
|
make postgresql-dev python3 sqlite-dev udns-dev util-linux-dev botan3-dev
|
|
|
|
COPY . /source
|
|
|
|
WORKDIR /source
|
|
|
|
RUN mkdir build && cd build && \
|
|
cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DWITH_BOTAN=1 \
|
|
-DWITHOUT_SYSTEMD=1 \
|
|
-DWITH_SQLITE3=1 \
|
|
-DWITH_LIBIDN=1 \
|
|
-DWITH_POSTGRESQL=1 \
|
|
-DWITH_UDNS=1 \
|
|
-DWITH_LIBIDN=1 && \
|
|
cmake --build . && \
|
|
cmake --install .
|
|
|
|
# ---
|
|
|
|
FROM docker.io/alpine:latest
|
|
|
|
RUN apk add --no-cache libcurl libidn libpq libstdc++ libuuid postgresql-libs \
|
|
sqlite-libs udns expat ca-certificates botan3
|
|
|
|
COPY --from=builder /etc/biboumi /etc/biboumi
|
|
COPY --from=builder /usr/bin/biboumi /usr/bin/biboumi
|
|
|
|
COPY --from=builder /source/docker/biboumi/alpine/biboumi.cfg /etc/biboumi/biboumi.cfg
|
|
|
|
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"]
|
|
|