freeswitch, php:8.1-workerman, php:8.2-workerman, php:8.3-workerman

This commit is contained in:
wandoubaba 2024-11-29 17:01:37 +08:00
parent 21be25b0e1
commit b3fc1ce78c
4 changed files with 193 additions and 4 deletions

View File

@ -0,0 +1,89 @@
FROM debian:bookworm
RUN sed -i 's|http://deb.debian.org/debian/|https://mirrors.aliyun.com/debian/|g' /etc/apt/sources.list && \
sed -i 's|http://security.debian.org/debian-security|https://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list && \
apt-get update && apt-get upgrade -y && \
apt-get install -y wget tar git \
build-essential cmake automake autoconf 'libtool-bin|libtool' pkg-config \
libssl-dev zlib1g-dev libdb-dev \
unixodbc-dev libncurses5-dev \
libexpat1-dev libgdbm-dev bison erlang-dev \
libtpl-dev libtiff5-dev uuid-dev \
libpcre3-dev libedit-dev libsqlite3-dev \
libcurl4-openssl-dev nasm \
libogg-dev libspeex-dev libspeexdsp-dev \
libldns-dev \
python3-dev \
libavformat-dev libswscale-dev 'libswresample-dev|libavresample-dev' \
liblua5.3-dev \
libopus-dev \
libpq-dev \
libsndfile1-dev libflac-dev libogg-dev libvorbis-dev \
libshout3-dev libmpg123-dev libmp3lame-dev \
lsb-release
RUN mkdir /install && cd /install && \
git clone -b v1.10 https://github.com/signalwire/freeswitch freeswitch && \
git clone https://github.com/signalwire/libks && \
git clone https://github.com/freeswitch/sofia-sip && \
git clone -b fs https://github.com/freeswitch/spandsp && \
git clone https://github.com/signalwire/signalwire-c && \
git clone https://github.com/unispeech/unimrcp.git && \
git clone https://github.com/freeswitch/mod_unimrcp.git && \
wget https://www.unimrcp.org/project/component-view/unimrcp-deps-1-6-0-tar-gz/download -O unimrcp-deps-1.6.0.tar.gz && \
tar xvzf unimrcp-deps-1.6.0.tar.gz
RUN cd /install/libks && \
cmake . -DCMAKE_INSTALL_PREFIX=/usr -DWITH_LIBBACKTRACE=1 && \
make install
RUN cd /install/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 /install/spandsp && \
./bootstrap.sh && \
./configure CFLAGS="-g -ggdb" --with-pic --prefix=/usr && \
make -j`nproc --all` && \
make install
RUN cd /install/signalwire-c && \
PKG_CONFIG_PATH=/usr/lib/pkgconfig cmake . -DCMAKE_INSTALL_PREFIX=/usr && \
make install
RUN cd /install/freeswitch && \
sed -i 's|#formats/mod_shout|formats/mod_shout|' build/modules.conf.in && \
./bootstrap.sh -j && \
./configure && \
make -j`nproc` && \
make install && \
make cd-sounds-install && \
make cd-moh-install && \
make uhd-sounds-install && \
make uhd-moh-install && \
make hd-sounds-install && \
make hd-moh-install && \
make sounds-install && \
make moh-install && \
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/ && \
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/
RUN cd /install/unimrcp-deps-1.6.0/libs/apr && \
./configure --prefix=/usr/local/apr && \
make && make install && \
cd ../apr-util && \
./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr && \
make && make install && \
cd ../../../unimrcp && \
./bootstrap && \
./configure --with-sofia-sip=/usr && \
make && make install && \
cd ../mod_unimrcp && \
export PKG_CONFIG_PATH=/usr/local/freeswitch/lib/pkgconfig:/usr/local/unimrcp/lib/pkgconfig && \
./bootstrap.sh && \
./configure && \
make && make install
RUN apt-get clean

View File

@ -22,7 +22,15 @@ RUN apt-get update && apt-get install -y \
libgmp-dev \ libgmp-dev \
libmagickwand-dev \ libmagickwand-dev \
libzookeeper-mt-dev \ libzookeeper-mt-dev \
librdkafka-dev librdkafka-dev \
&& apt-get install -y \
libprotobuf-dev \
&& apt-get install -y \
protobuf-compiler \
&& apt-get install -y \
pkg-config \
&& apt-get install -y \
git
# 安装扩展 # 安装扩展
RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \ RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \
@ -54,7 +62,10 @@ RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-w
&& pecl install https://pecl.php.net/get/zookeeper-1.2.1.tgz \ && pecl install https://pecl.php.net/get/zookeeper-1.2.1.tgz \
&& docker-php-ext-enable zookeeper \ && docker-php-ext-enable zookeeper \
&& pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \ && pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \
&& docker-php-ext-enable rdkafka && docker-php-ext-enable rdkafka \
# 安装 gRPC 扩展
&& pecl install grpc \
&& docker-php-ext-enable grpc
# 安装Composer # 安装Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \

View File

@ -22,7 +22,15 @@ RUN apt-get update && apt-get install -y \
libgmp-dev \ libgmp-dev \
libmagickwand-dev \ libmagickwand-dev \
libzookeeper-mt-dev \ libzookeeper-mt-dev \
librdkafka-dev librdkafka-dev \
&& apt-get install -y \
libprotobuf-dev \
&& apt-get install -y \
protobuf-compiler \
&& apt-get install -y \
pkg-config \
&& apt-get install -y \
git
# 安装扩展 # 安装扩展
RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \ RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \
@ -54,7 +62,10 @@ RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-w
&& pecl install https://pecl.php.net/get/zookeeper-1.2.1.tgz \ && pecl install https://pecl.php.net/get/zookeeper-1.2.1.tgz \
&& docker-php-ext-enable zookeeper \ && docker-php-ext-enable zookeeper \
&& pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \ && pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \
&& docker-php-ext-enable rdkafka && docker-php-ext-enable rdkafka \
# 安装 gRPC 扩展
&& pecl install grpc \
&& docker-php-ext-enable grpc
# 安装Composer # 安装Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \

View File

@ -0,0 +1,78 @@
# 拉基础镜像
FROM php:8.3.14-cli
# 替换源
RUN rm /etc/apt/sources.list.d/debian.sources && \
echo 'deb http://mirror.us.oneandone.net/debian bookworm main' > /etc/apt/sources.list && \
echo 'deb-src http://mirror.us.oneandone.net/debian bookworm main' >> /etc/apt/sources.list && \
echo 'deb http://mirror.us.oneandone.net/debian-security bookworm-security main' >> /etc/apt/sources.list && \
echo 'deb-src http://mirror.us.oneandone.net/debian-security bookworm-security main' >> /etc/apt/sources.list && \
echo 'deb http://mirror.us.oneandone.net/debian bookworm-updates main' >> /etc/apt/sources.list && \
echo 'deb-src http://mirror.us.oneandone.net/debian bookworm-updates main' >> /etc/apt/sources.list && \
echo 'deb http://mirror.us.oneandone.net/debian bookworm-backports main' >> /etc/apt/sources.list && \
echo 'deb-src http://mirror.us.oneandone.net/debian bookworm-backports main' >> /etc/apt/sources.list
# 安装一些依赖
RUN apt-get update && apt-get install -y \
libfreetype6-dev libjpeg62-turbo-dev \
libpng-dev libwebp-dev zlib1g-dev \
libzip-dev zip \
libevent-dev libssl-dev \
lsb-release libpq-dev \
libgmp-dev \
librdkafka-dev \
&& apt-get install -y \
libprotobuf-dev \
&& apt-get install -y \
protobuf-compiler \
&& apt-get install -y \
pkg-config \
&& apt-get install -y \
git
# 安装扩展
RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install exif \
&& docker-php-ext-install opcache \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install zip \
&& docker-php-ext-install pcntl \
&& docker-php-ext-install fileinfo \
&& pecl install https://pecl.php.net/get/redis-6.1.0.tgz \
&& docker-php-ext-enable redis \
&& docker-php-ext-install sockets \
&& pecl install https://pecl.php.net/get/event-3.1.4.tgz \
&& docker-php-ext-enable event \
&& cat /usr/local/etc/php/conf.d/docker-php-ext-event.ini >> /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini /usr/local/etc/php/conf.d/docker-php-ext-event.ini \
&& docker-php-ext-install -j$(nproc) pgsql pdo_pgsql \
&& pecl install https://pecl.php.net/get/mongodb-1.19.3.tgz \
&& docker-php-ext-enable mongodb \
&& docker-php-ext-install -j$(nproc) gmp \
&& docker-php-ext-install bcmath \
&& docker-php-ext-enable bcmath \
&& pecl install https://pecl.php.net/get/xlswriter-1.5.5.tgz \
&& docker-php-ext-enable xlswriter \
&& pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \
&& docker-php-ext-enable rdkafka \
# 安装 gRPC 扩展
&& pecl install grpc \
&& docker-php-ext-enable grpc
# 安装Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/local/bin/composer \
&& composer config -g repo.packagist composer https://mirrors.tencent.com/composer/
# 安装swow扩展
# RUN composer require swow/swow && ./vendor/bin/swow-builder --install
# 创建应用目录
RUN mkdir -p /app
# 设置工作目录
WORKDIR /app