working devel docker image

This commit is contained in:
Radu Ioan Fericean
2015-05-05 18:43:08 +03:00
parent dc09a4fefc
commit 21853f2bb7
3 changed files with 34 additions and 31 deletions

View File

@@ -1,33 +1,26 @@
FROM debian:latest
MAINTAINER Radu Fericean, rif@cgrates.org
RUN apt-get -y update
# install dependency
RUN apt-get -y install git bzr mercurial redis-server mysql-server python-pycurl python-mysqldb wget
# add cgrates user
RUN useradd -c CGRateS -d /var/run/cgrates -s /bin/false -r cgrates
# 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
# add freeswitch apt key
RUN gpg -a --export D76EDC7725E010CF | apt-key add -
RUN gpg --keyserver pool.sks-keyservers.net --recv-key D76EDC7725E010CF && gpg -a --export D76EDC7725E010CF | apt-key add -
# add freeswitch apt repo
RUN cd /etc/apt/sources.list.d/; wget http://apt.itsyscom.com/conf/freeswitch.apt.list
# install freeswitch
RUN apt-get update; apt-get -y install freeswitch-meta-vanilla freeswitch-mod-json-cdr
RUN echo 'deb http://files.freeswitch.org/repo/deb/debian/ jessie main' > /etc/apt/sources.list.d/freeswitch.list
# install dependency
RUN apt-get -y update && apt-get -y install git bzr mercurial redis-server mysql-server python-pycurl python-mysqldb postgresql postgresql-client sudo wget freeswitch-meta-vanilla
# add cgrates user
RUN useradd -c CGRateS -d /var/run/cgrates -s /bin/false -r cgrates
# install golang
RUN wget -qO- https://storage.googleapis.com/golang/go1.3.linux-amd64.tar.gz | tar xzf - -C /root/
# add startup script
ADD start.sh /root/start.sh
RUN wget -qO- https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar xzf - -C /root/
# cleanup
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# set start command
CMD /root/start.sh
CMD /root/code/src/github.com/cgrates/cgrates/data/docker/devel/start.sh

View File

@@ -0,0 +1,11 @@
Docker
=======
From the project root:
``` bash
# build the image
docker build -t cgrates data/docker/devel
# create the container
docker run --rm -itv `pwd`:/root/code/src/github.com/cgrates/cgrates --name cgr cgrates
```

View File

@@ -3,27 +3,26 @@ export GOPATH=/root/code
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
/etc/init.d/mysql start
/usr/share/cgrates/tutorials/fs_csv/freeswitch/etc/init.d/freeswitch start
mysqladmin -u root password CGRateS.org
/etc/init.d/postgresql start
/etc/init.d/redis-server start
# create a link to data dir
ln -s /root/code/src/github.com/cgrates/cgrates/data /usr/share/cgrates
# expand freeswitch json conf
tar xzf /usr/share/cgrates/tutorials/fs_json/freeswitch/etc/freeswitch_conf.tar.gz
# expand freeswitch csv
tar xzf /usr/share/cgrates/tutorials/fs_csv/freeswitch/etc/freeswitch_conf.tar.gz
# create link to cgrates dir
ln -s /root/code/src/github.com/cgrates/cgrates /root/cgr
cd /usr/share/cgrates/storage/mysql && ./setup_cgr_db.sh root CGRateS.org
cd /usr/share/cgrates/storage/postgres && ./setup_cgr_db.sh
# build and install cgrates
/root/cgr/update_external_libs.sh
go install github.com/cgrates/cgrates
# create cgr-engine link
ln -s /root/code/bin/cgr-engine /usr/bin/cgr-engine
cd /usr/share/cgrates/storage/mysql; ./setup_cgr_db.sh root CGRateS.org localhost
cd /
# expand freeswitch conf
cd /usr/share/cgrates/tutorials/fs_evsock/freeswitch/etc/ && tar xzf freeswitch_conf.tar.gz
cgr-engine -config /root/cgr/data/conf/cgrates.cfg &
bash --rcfile /root/.bashrc