]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[Docs] Add Debian 11 Dockerfile example showing how to build FreeSWITCH without repo. 1631/head
authorAndrey Volk <andywolk@gmail.com>
Thu, 14 Apr 2022 17:34:59 +0000 (20:34 +0300)
committerAndrey Volk <andywolk@gmail.com>
Thu, 14 Apr 2022 18:01:12 +0000 (21:01 +0300)
README.md
docker/examples/Debian11/Dockerfile [new file with mode: 0644]
docker/examples/README.md [new file with mode: 0644]

index f2525918f3a44ae3bf061102f2e4da02aefdcb76..1660933611e4cc1ea2908b33b588184425262cbf 100644 (file)
--- 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:
+
+  * [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian) [<b>Recommended</b>]
+  * [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
 
-Step by step tutorials to install FreeSWITCH from packages or source code are available at:
+Example Dockerfiles to build FreeSWITCH and dependencies from source:
+  * https://github.com/signalwire/freeswitch/tree/dockerfile/docker/examples
 
-  * [Debian 10 Buster](https://freeswitch.org/confluence/display/FREESWITCH/Debian+10+Buster) [<b>Recommended</b>]
+Step by step tutorials to build FreeSWITCH with provided dependency packages:
+  * [Debian](https://freeswitch.org/confluence/display/FREESWITCH/Debian#Debian-buildfromsource) [<b>Recommended</b>]
   * [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 (file)
index 0000000..2497a39
--- /dev/null
@@ -0,0 +1,49 @@
+FROM debian:bullseye\r
+MAINTAINER Andrey Volk <andrey@signalwire.com>\r
+\r
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -yq install git\r
+\r
+RUN git clone https://github.com/signalwire/freeswitch /usr/src/freeswitch\r
+RUN git clone https://github.com/signalwire/libks /usr/src/libs/libks\r
+RUN git clone https://github.com/freeswitch/sofia-sip /usr/src/libs/sofia-sip\r
+RUN git clone https://github.com/freeswitch/spandsp /usr/src/libs/spandsp\r
+RUN git clone https://github.com/signalwire/signalwire-c /usr/src/libs/signalwire-c\r
+\r
+RUN DEBIAN_FRONTEND=noninteractive apt-get -yq install \\r
+# build\r
+    build-essential cmake automake autoconf 'libtool-bin|libtool' pkg-config \\r
+# general\r
+    libssl-dev zlib1g-dev libdb-dev unixodbc-dev libncurses5-dev libexpat1-dev libgdbm-dev bison erlang-dev libtpl-dev libtiff5-dev uuid-dev \\r
+# core\r
+    libpcre3-dev libedit-dev libsqlite3-dev libcurl4-openssl-dev nasm \\r
+# core codecs\r
+    libogg-dev libspeex-dev libspeexdsp-dev \\r
+# mod_enum\r
+    libldns-dev \\r
+# mod_python3\r
+    python3-dev \\r
+# mod_av\r
+    libavformat-dev libswscale-dev libavresample-dev \\r
+# mod_lua\r
+    liblua5.2-dev \\r
+# mod_opus\r
+    libopus-dev \\r
+# mod_pgsql\r
+    libpq-dev \\r
+# mod_sndfile\r
+    libsndfile1-dev libflac-dev libogg-dev libvorbis-dev\r
+  \r
+RUN cd /usr/src/libs/libks && cmake . -DCMAKE_INSTALL_PREFIX=/usr -DWITH_LIBBACKTRACE=1 && make install\r
+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\r
+RUN cd /usr/src/libs/spandsp && ./bootstrap.sh && ./configure CFLAGS="-g -ggdb" --with-pic --prefix=/usr && make -j`nproc --all` && make install\r
+RUN cd /usr/src/libs/signalwire-c && PKG_CONFIG_PATH=/usr/lib/pkgconfig cmake . -DCMAKE_INSTALL_PREFIX=/usr && make install\r
+\r
+RUN cd /usr/src/freeswitch && ./bootstrap.sh -j\r
+RUN cd /usr/src/freeswitch && ./configure\r
+RUN cd /usr/src/freeswitch && make -j`nproc` && make install\r
+\r
+# Cleanup the image\r
+RUN apt-get clean\r
+\r
+# Uncomment to cleanup even more\r
+#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 (file)
index 0000000..5dd765a
--- /dev/null
@@ -0,0 +1,4 @@
+##### Dockerfile examples showing how to build FreeSWITCH without installing FreeSWITCH repo.\r
+\r
+[Debian 11](https://github.com/signalwire/freeswitch/blob/dockerfile/docker/examples/Debian11/Dockerfile "Debian 11")\r
+\r