2022-04-14 17:34:59 +00:00
|
|
|
FROM debian:bullseye
|
|
|
|
MAINTAINER Andrey Volk <andrey@signalwire.com>
|
|
|
|
|
|
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -yq install git
|
|
|
|
|
|
|
|
RUN git clone https://github.com/signalwire/freeswitch /usr/src/freeswitch
|
|
|
|
RUN git clone https://github.com/signalwire/libks /usr/src/libs/libks
|
|
|
|
RUN git clone https://github.com/freeswitch/sofia-sip /usr/src/libs/sofia-sip
|
|
|
|
RUN git clone https://github.com/freeswitch/spandsp /usr/src/libs/spandsp
|
|
|
|
RUN git clone https://github.com/signalwire/signalwire-c /usr/src/libs/signalwire-c
|
|
|
|
|
|
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
|
|
|
# build
|
|
|
|
build-essential cmake automake autoconf 'libtool-bin|libtool' pkg-config \
|
|
|
|
# general
|
|
|
|
libssl-dev zlib1g-dev libdb-dev unixodbc-dev libncurses5-dev libexpat1-dev libgdbm-dev bison erlang-dev libtpl-dev libtiff5-dev uuid-dev \
|
|
|
|
# core
|
|
|
|
libpcre3-dev libedit-dev libsqlite3-dev libcurl4-openssl-dev nasm \
|
|
|
|
# core codecs
|
|
|
|
libogg-dev libspeex-dev libspeexdsp-dev \
|
|
|
|
# mod_enum
|
|
|
|
libldns-dev \
|
|
|
|
# mod_python3
|
|
|
|
python3-dev \
|
|
|
|
# mod_av
|
|
|
|
libavformat-dev libswscale-dev libavresample-dev \
|
|
|
|
# mod_lua
|
|
|
|
liblua5.2-dev \
|
|
|
|
# mod_opus
|
|
|
|
libopus-dev \
|
|
|
|
# mod_pgsql
|
|
|
|
libpq-dev \
|
|
|
|
# mod_sndfile
|
2023-02-16 16:11:28 +00:00
|
|
|
libsndfile1-dev libflac-dev libogg-dev libvorbis-dev \
|
|
|
|
# mod_shout
|
|
|
|
libshout3-dev libmpg123-dev libmp3lame-dev
|
|
|
|
|
2022-04-14 17:34:59 +00:00
|
|
|
RUN cd /usr/src/libs/libks && cmake . -DCMAKE_INSTALL_PREFIX=/usr -DWITH_LIBBACKTRACE=1 && make install
|
|
|
|
RUN cd /usr/src/libs/sofia-sip && ./bootstrap.sh && ./configure CFLAGS="-g -ggdb" --with-pic --with-glib=no --without-doxygen --disable-stun --prefix=/usr && make -j`nproc --all` && make install
|
|
|
|
RUN cd /usr/src/libs/spandsp && ./bootstrap.sh && ./configure CFLAGS="-g -ggdb" --with-pic --prefix=/usr && make -j`nproc --all` && make install
|
|
|
|
RUN cd /usr/src/libs/signalwire-c && PKG_CONFIG_PATH=/usr/lib/pkgconfig cmake . -DCMAKE_INSTALL_PREFIX=/usr && make install
|
|
|
|
|
2023-02-16 16:11:28 +00:00
|
|
|
# Enable modules
|
|
|
|
RUN sed -i 's|#formats/mod_shout|formats/mod_shout|' /usr/src/freeswitch/build/modules.conf.in
|
|
|
|
|
2022-04-14 17:34:59 +00:00
|
|
|
RUN cd /usr/src/freeswitch && ./bootstrap.sh -j
|
|
|
|
RUN cd /usr/src/freeswitch && ./configure
|
|
|
|
RUN cd /usr/src/freeswitch && make -j`nproc` && make install
|
|
|
|
|
|
|
|
# Cleanup the image
|
|
|
|
RUN apt-get clean
|
|
|
|
|
|
|
|
# Uncomment to cleanup even more
|
2023-02-16 16:11:28 +00:00
|
|
|
#RUN rm -rf /usr/src/*
|