From 96a1f598ad41714919033a3862348c363c2fa67b Mon Sep 17 00:00:00 2001 From: Gavin Henry Date: Mon, 25 Mar 2019 22:07:47 +0000 Subject: [PATCH] Update Dockerfile for FreeSWITCH 1.8, install from deb and latest cgr-engine syntax. --- data/docker/prod/Dockerfile | 24 ++++++++++++------- data/docker/prod/README.md | 2 ++ data/docker/prod/start.sh | 10 ++++++++ .../fs_evsock/cgrates/etc/init.d/cgrates | 2 +- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/data/docker/prod/Dockerfile b/data/docker/prod/Dockerfile index 6cd94e46a..cf37b5a2f 100644 --- a/data/docker/prod/Dockerfile +++ b/data/docker/prod/Dockerfile @@ -1,27 +1,35 @@ FROM debian:latest -MAINTAINER Radu Fericean, rif@cgrates.org -RUN apt-get -y update +LABEL maintainer="Radu Fericean, rif@cgrates.org, Gavin Henry, ghenry@surevoip.co.uk" +RUN apt-get update && apt-get install -y gnupg2 wget apt-utils ngrep vim # set mysql password RUN echo 'mysql-server mysql-server/root_password password CGRateS.org' | debconf-set-selections && echo 'mysql-server mysql-server/root_password_again password CGRateS.org' | debconf-set-selections - + # add freeswitch gpg key -RUN gpg --keyserver pool.sks-keyservers.net --recv-key D76EDC7725E010CF && gpg -a --export D76EDC7725E010CF | apt-key add - +RUN wget -O - https://files.freeswitch.org/repo/deb/freeswitch-1.8/fsstretch-archive-keyring.asc | apt-key add - # add freeswitch apt repo -RUN echo 'deb http://files.freeswitch.org/repo/deb/debian/ jessie main' > /etc/apt/sources.list.d/freeswitch.list +RUN echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.8/ stretch main" > /etc/apt/sources.list.d/freeswitch.list # install dependencies RUN apt-get update && apt-get -y install redis-server mysql-server python-pycurl python-mysqldb postgresql postgresql-client sudo wget git freeswitch-meta-vanilla +#### +# Re-enable this once the CGRateS repo is live - GH. +# # add cgrates apt-key -RUN wget -qO- http://apt.itsyscom.com/conf/cgrates.gpg.key | apt-key add - +#RUN wget -qO- http://apt.itsyscom.com/conf/cgrates.gpg.key | apt-key add - # add cgrates repo -RUN cd /etc/apt/sources.list.d/; wget -q http://apt.itsyscom.com/conf/cgrates.apt.list +#RUN cd /etc/apt/sources.list.d/; wget -q http://apt.itsyscom.com/conf/cgrates.apt.list # install cgrates -RUN apt-get update && apt-get -y install cgrates +#RUN apt-get update && apt-get -y install cgrates + +# CGRateS +RUN wget -O /tmp/cgrates.deb http://www.cgrates.org/tmp_pkg/cgrates_0.9.1~rc8_amd64.deb +RUN apt install /tmp/cgrates.deb +RUN rm /tmp/cgrates.deb # cleanup RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/data/docker/prod/README.md b/data/docker/prod/README.md index 4d38990d1..8f23f5cb1 100644 --- a/data/docker/prod/README.md +++ b/data/docker/prod/README.md @@ -8,4 +8,6 @@ From the project root: docker build -t cgrates data/docker/prod # create the container docker run --rm -itv `pwd`:/root/code --name cgr cgrates +# If running on local machine, do this to expose agent for /pprof: +docker run --rm -itv `pwd`:/root/code -p 127.0.0.1:2080:2080/tcp --name cgr cgrates ``` diff --git a/data/docker/prod/start.sh b/data/docker/prod/start.sh index 0b9cc0406..6e6dcecf4 100755 --- a/data/docker/prod/start.sh +++ b/data/docker/prod/start.sh @@ -6,6 +6,16 @@ cd /usr/share/cgrates/storage/mysql && ./setup_cgr_db.sh root CGRateS.org cd /usr/share/cgrates/storage/postgres && ./setup_cgr_db.sh /usr/share/cgrates/tutorials/fs_evsock/freeswitch/etc/init.d/freeswitch start + +# Docker doesn't have syslog. Let others modify this to send out logs if needed +sed -i 's/config_dir/config_path/g' /usr/share/cgrates/tutorials/fs_evsock/cgrates/etc/init.d/cgrates +sed -i 's/\/etc\/cgrates/\/etc\/cgrates -httprof_path=\/pprof -logger=*stdout/g' /usr/share/cgrates/tutorials/fs_evsock/cgrates/etc/init.d/cgrates + +# Get our data ready +/usr/bin/cgr-migrator -migrate=*set_versions -config_path=/usr/share/cgrates/tutorials/fs_evsock/cgrates/etc/cgrates/ + +# Let FreeSWITCH start up +sleep 5 /usr/share/cgrates/tutorials/fs_evsock/cgrates/etc/init.d/cgrates start bash --rcfile /root/.bashrc diff --git a/data/tutorials/fs_evsock/cgrates/etc/init.d/cgrates b/data/tutorials/fs_evsock/cgrates/etc/init.d/cgrates index 66e50a990..0c57a02fd 100755 --- a/data/tutorials/fs_evsock/cgrates/etc/init.d/cgrates +++ b/data/tutorials/fs_evsock/cgrates/etc/init.d/cgrates @@ -28,7 +28,7 @@ RUNDIR=$TMP_DIR/run PIDFILE=$RUNDIR/cgr-engine.pid STACKTRACE=$RUNDIR/$NAME.strace ENABLE=true -DAEMON_OPTS="-config_dir=$TUTFOLDER/etc/cgrates" +DAEMON_OPTS="-config_path=$TUTFOLDER/etc/cgrates" CDREDIR=$TMP_DIR/cdre CDRCINDIR=$TMP_DIR/cdrc/in CDRCOUTDIR=$TMP_DIR/cdrc/out