diff --git a/README.md b/README.md index f2525918f3..1660933611 100644 --- a/README.md +++ b/README.md @@ -24,15 +24,26 @@ The main index for documentation is available at: * https://freeswitch.org/confluence/ + ### Release notes: * https://freeswitch.org/confluence/display/FREESWITCH/Release+Notes -### Installation +### Install from packages -Step by step tutorials to install FreeSWITCH from packages or source code are available at: +Step by step tutorials to install FreeSWITCH from packages: - * [Debian 10 Buster](https://freeswitch.org/confluence/display/FREESWITCH/Debian+10+Buster) [Recommended] + * [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian) [Recommended] + * [Raspberry Pi](https://freeswitch.org/confluence/display/FREESWITCH/Raspberry+Pi) + * [CentOS 7](https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7) + +### Build from source + +Example Dockerfiles to build FreeSWITCH and dependencies from source: + * https://github.com/signalwire/freeswitch/tree/dockerfile/docker/examples + +Step by step tutorials to build FreeSWITCH with provided dependency packages: + * [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian#Debian-buildfromsource) [Recommended] * [Raspberry Pi](https://freeswitch.org/confluence/display/FREESWITCH/Raspberry+Pi) * [CentOS 7](https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7) diff --git a/docker/examples/Debian11/Dockerfile b/docker/examples/Debian11/Dockerfile new file mode 100644 index 0000000000..2497a39850 --- /dev/null +++ b/docker/examples/Debian11/Dockerfile @@ -0,0 +1,49 @@ +FROM debian:bullseye +MAINTAINER Andrey Volk + +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 + libsndfile1-dev libflac-dev libogg-dev libvorbis-dev + +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 + +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 +#RUN rm -rf /usr/src/* \ No newline at end of file diff --git a/docker/examples/README.md b/docker/examples/README.md new file mode 100644 index 0000000000..5dd765ab49 --- /dev/null +++ b/docker/examples/README.md @@ -0,0 +1,4 @@ +##### Dockerfile examples showing how to build FreeSWITCH without installing FreeSWITCH repo. + +[Debian 11](https://github.com/signalwire/freeswitch/blob/dockerfile/docker/examples/Debian11/Dockerfile "Debian 11") +