forked from SimplesIP/pabx-app
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.
90 lines
3.1 KiB
90 lines
3.1 KiB
2 years ago
|
FROM centos:centos7
|
||
|
LABEL maintainer='Doug Smith <info@laboratoryb.org>' contributors='Christophe Langenberg <christophe@langenberg.be>'
|
||
|
ENV build_date 2016-05-15
|
||
|
ENV AUTOBUILD_UNIXTIME 123124
|
||
|
|
||
|
RUN yum update -y \
|
||
|
&& yum install -y \
|
||
|
epel-release \
|
||
|
git \
|
||
|
kernel-headers \
|
||
|
wget \
|
||
|
gcc \
|
||
|
gcc-c++ \
|
||
|
cpp \
|
||
|
ncurses \
|
||
|
ncurses-devel \
|
||
|
libxml2 \
|
||
|
libxml2-devel \
|
||
|
sqlite \
|
||
|
sqlite-devel \
|
||
|
openssl-devel \
|
||
|
newt-devel \
|
||
|
kernel-devel \
|
||
|
libuuid-devel \
|
||
|
net-snmp-devel \
|
||
|
xinetd \
|
||
|
tar \
|
||
|
jansson-devel \
|
||
|
make \
|
||
|
bzip2 \
|
||
|
gettext \
|
||
|
&& yum clean all \
|
||
|
&& cd /tmp \
|
||
|
# Get pj project
|
||
|
&& git clone -b pjproject-2.4.5 --depth 1 https://github.com/asterisk/pjproject.git \
|
||
|
# Build pj project
|
||
|
&& cd pjproject \
|
||
|
&& ./configure \
|
||
|
--prefix=/usr \
|
||
|
--libdir=/usr/lib64 \
|
||
|
--enable-shared \
|
||
|
--disable-sound \
|
||
|
--disable-resample \
|
||
|
--disable-video \
|
||
|
--disable-opencore-amr \
|
||
|
1> /dev/null \
|
||
|
&& make -j$(nproc) dep 1> /dev/null \
|
||
|
&& make -j$(nproc) 1> /dev/null \
|
||
|
&& make -j$(nproc) install \
|
||
|
&& ldconfig \
|
||
|
&& ldconfig -p | grep pj \
|
||
|
&& cd .. \
|
||
|
# Download asterisk.
|
||
|
&& git clone -b certified/13.8 --depth 1 https://gerrit.asterisk.org/asterisk \
|
||
|
&& cd asterisk \
|
||
|
# Configure
|
||
|
&& ./configure \
|
||
|
--libdir=/usr/lib64 \
|
||
|
1> /dev/null \
|
||
|
# Remove the native build option
|
||
|
# from: https://wiki.asterisk.org/wiki/display/AST/Building+and+Installing+Asterisk
|
||
|
&& make -j$(nproc) menuselect.makeopts \
|
||
|
&& menuselect/menuselect \
|
||
|
--disable BUILD_NATIVE \
|
||
|
--enable cdr_csv \
|
||
|
--enable chan_sip \
|
||
|
--enable res_snmp \
|
||
|
--enable res_http_websocket \
|
||
|
--enable res_hep_pjsip \
|
||
|
--enable res_hep_rtcp \
|
||
|
menuselect.makeopts \
|
||
|
# Continue with a standard make.
|
||
|
&& make -j$(nproc) 1> /dev/null \
|
||
|
&& make -j$(nproc) install 1> /dev/null \
|
||
|
&& make -j$(nproc) samples 1> /dev/null \
|
||
|
&& make dist-clean \
|
||
|
# Update max number of open files.
|
||
|
&& sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \
|
||
|
# Create and configure asterisk for running asterisk user.
|
||
|
&& useradd -m asterisk -s /sbin/nologin \
|
||
|
&& chown -R asterisk:asterisk /var/run/asterisk \
|
||
|
/etc/asterisk/ \
|
||
|
/var/lib/asterisk \
|
||
|
/var/log/asterisk \
|
||
|
/var/spool/asterisk \
|
||
|
/usr/lib64/asterisk/
|
||
|
|
||
|
# And run asterisk in the foreground.
|
||
|
USER asterisk
|
||
|
CMD /usr/sbin/asterisk -f
|