diff --git a/README.md b/README.md index c81ce3ae..805e3e70 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ -# Corona +## Yo -### IDEA 环境需求 +### 运行环境需求 + +[运行环境需求](语音服务环境需求.md) + +### IDEA 开发环境需求 由于项目依赖`org.projectlombok:lombok:1.18.2`,而`Lombok`在`1.18.4`版本做了[重设计](https://projectlombok.org/features/experimental/FieldNameConstants),不兼容之前版本,因此`IDEA`的`Lombok`插件必须是版本`lombok-plugin-0.23`,这里比较坑,如果升级到版本`1.18.4`以后,插件还是得升级,而且很多API都要改。 diff --git a/语音服务环境需求.md b/语音服务环境需求.md new file mode 100644 index 00000000..1a082c8c --- /dev/null +++ b/语音服务环境需求.md @@ -0,0 +1,105 @@ +## 语音服务环境需求 + +### 1. FreeSWITCH + +可安装在操作系统`CentOS 7`或者`Debian buster`上,需要安装核心部件`lua``curl``odbc``bcg729`等,安装步骤参考 + + +```bash +# FreeSWITCH +FROM debian:buster +RUN echo 'deb http://mirrors.aliyun.com/debian/ buster main non-free contrib' > /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian-security buster/updates main' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian-security buster/updates main' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib' >> /etc/apt/sources.list \ +&& apt-get update \ +&& apt-get install -y curl gnupg2 \ +&& echo 'deb http://files.freeswitch.org/repo/deb/debian-release/ buster main' \ +> /etc/apt/sources.list.d/freeswitch.list \ +&& echo 'deb-src http://files.freeswitch.org/repo/deb/debian-release/ buster main' \ +>> /etc/apt/sources.list.d/freeswitch.list \ +&& curl -Lk 'https://files.freeswitch.org/repo/deb/debian-release/fsstretch-archive-keyring.asc' \ +| apt-key add - \ +&& apt-get update \ +&& apt-get install -y libfreeswitch-dev \ +git autoconf automake libtool build-essential \ +&& mkdir -p /var/src/mod_bcg729 \ +&& curl -Lk https://github.com/xadhoom/mod_bcg729/archive/v1.0.5.tar.gz | \ +tar -xzv --strip 1 -C /var/src/mod_bcg729 \ +&& cd /var/src/mod_bcg729 \ +&& make + +FROM debian:buster +RUN echo 'deb http://mirrors.aliyun.com/debian/ buster main non-free contrib' > /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian-security buster/updates main' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian-security buster/updates main' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib' >> /etc/apt/sources.list \ +&& echo 'deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib' >> /etc/apt/sources.list \ +&& apt-get update \ +&& apt-get install -y curl gnupg2 \ +&& echo 'deb http://files.freeswitch.org/repo/deb/debian-release/ buster main' > /etc/apt/sources.list.d/freeswitch.list \ +&& echo 'deb-src http://files.freeswitch.org/repo/deb/debian-release/ buster main' >> /etc/apt/sources.list.d/freeswitch.list \ +&& curl -Lk 'https://files.freeswitch.org/repo/deb/debian-release/fsstretch-archive-keyring.asc' | apt-key add - \ +&& apt-get update \ +&& apt-get install -y lua5.3 \ +liblua5.3-0 \ +liblua5.3-dev \ +libfreeswitch-dev \ +freeswitch \ +freeswitch-conf-vanilla \ +freeswitch-init \ +freeswitch-lang-en \ +freeswitch-meta-codecs \ +freeswitch-mod-commands \ +freeswitch-mod-console \ +freeswitch-mod-curl \ +freeswitch-mod-dialplan-xml \ +freeswitch-mod-directory \ +freeswitch-mod-dptools \ +freeswitch-mod-event-socket \ +freeswitch-mod-expr \ +freeswitch-mod-format-cdr \ +freeswitch-mod-httapi \ +freeswitch-mod-local-stream \ +freeswitch-mod-logfile \ +freeswitch-mod-lua \ +freeswitch-mod-native-file \ +freeswitch-mod-odbc-cdr \ +freeswitch-mod-opusfile \ +freeswitch-mod-rtc \ +freeswitch-mod-say-en \ +freeswitch-mod-shout \ +freeswitch-mod-sms \ +freeswitch-mod-sndfile \ +freeswitch-mod-sofia \ +freeswitch-mod-syslog \ +freeswitch-mod-tone-stream \ +freeswitch-mod-translate \ +freeswitch-mod-xml-curl \ +freeswitch-music-default \ +freeswitch-sounds-en-us-callie \ +freeswitch-timezones + +# BCG729 +COPY --from=0 /var/src/mod_bcg729/mod_bcg729.so /usr/lib/freeswitch/mod/ + +# ODBC MySQL +RUN apt-get install -y unixodbc unixodbc-dev \ +&& curl -Lk https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.19-linux-debian10-x86-64bit.tar.gz \ +| tar -xzv --exclude 'bin/myodbc-installer' --strip 2 -C /usr/lib \ +&& echo '[MySQL]\nDescription=ODBC for MySQL\nUsageCount=1\nDriver=/usr/lib/libmyodbc8w.so\nSetup=/usr/lib/libmyodbc8S.so\nDriver64=/usr/lib/libmyodbc5w.so\nSetup64=/usr/lib/libmyodbc8S.so\nFileUsage=1\n' > /etc/odbcinst.ini +``` + + +### 2. MySQL +### 3. Redis +### 4. ZooKeeper (Java服务注册中心) +### 5. OpenResty (录音存储) +### 6. JDK (Java服务运行环境) \ No newline at end of file