Bordeaux is a voice application server for modern IP telephony networks using modern C++ practices along with advances originally made in GNU Bayonne.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

43 lines
1.1 KiB

# Common setup image for build and deploy
FROM alpine:3.14 as setup
RUN apk update --no-cache && apk upgrade --no-cache &&\
mkdir -p /app &&\
mkdir -p /src &&\
mkdir -p /srv/bordeaux
# Builder creates application with vendor bundle
FROM setup as build
WORKDIR /src
ARG DRIVER=generic
ADD out/sources.tar ./
RUN apk add --no-cache alpine-sdk cmake openssl-libs-static fmt-dev c-ares-dev c-ares-static
RUN cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_FULL_LOCALSTATEDIR=/srv \
-DCMAKE_INSTALL_FULL_SYSCONFDIR=/app \
-DCMAKE_INSTALL_PREFIX=/app \
-DCMAKE_INSTALL_SBINDIR=/app/bin \
-DCMAKE_INSTALL_BINDIR=/app/bin \
-DCMAKE_INSTALL_LIBDIR=/app/lib \
-DCMAKE_INSTALL_DATADIR=/app/data \
-DOPENSSL_INCLUDE_DIR=/usr/include \
-DOPENSSL_ROOT_DIR=/usr \
-DBUILD_DRIVER=${DRIVER} .
RUN make install
RUN mv server/startup.sh /app
RUN strip /app/bin/*
# Final deploy image
FROM setup as deploy
LABEL maintainer="David Sugar <tychosoft@gmail.com>"
EXPOSE 5060-5460/udp
ENTRYPOINT startup.sh
VOLUME /srv/bordeaux
WORKDIR /app
COPY --from=build /app .