diff options
| author | Alon Levy <alon@pobox.com> | 2015-04-25 21:01:07 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-04-25 21:05:19 +0300 |
| commit | a834ad073afc12fc5f329741026f2bf20b43a2da (patch) | |
| tree | e4ba5585a7e47c4ca859206d8bb4e3838670151a | |
| parent | d766ecbf7a64c09e324a239493523bbda7041659 (diff) | |
docker changes: split neo4j and rhizi
changes:
- rhizi and neo4j use separate containers, linked via docker link
mechanism (environment files and shared bridge)
- means debugging is faster using docker (still quicker by a little
using run-local.sh / directly running python if no change to
css/client)
- rhizi docker now doesn't run deploy, it uses a volume from the
deployment, similar to production scenario. Image still has multiple
tools needed only for development (git, strace, ant, etc)
| -rw-r--r-- | res/docker/3rd/neo4j-fedora/Dockerfile | 11 | ||||
| -rw-r--r-- | res/docker/fedora/Dockerfile | 4 | ||||
| -rwxr-xr-x | src/local/docker/docker-build-neo4j.sh | 13 | ||||
| -rwxr-xr-x | src/local/docker/docker-build.sh | 7 | ||||
| -rwxr-xr-x | src/local/docker/docker-run-neo4j.sh | 2 | ||||
| -rwxr-xr-x | src/local/docker/docker-run.sh | 12 |
6 files changed, 36 insertions, 13 deletions
diff --git a/res/docker/3rd/neo4j-fedora/Dockerfile b/res/docker/3rd/neo4j-fedora/Dockerfile new file mode 100644 index 00000000..c5de68c4 --- /dev/null +++ b/res/docker/3rd/neo4j-fedora/Dockerfile @@ -0,0 +1,11 @@ +# neo4j build for rhizi +FROM fedora:21 +MAINTAINER Alon Levy <alon@pobox.com> +RUN yum install -y dnf +RUN dnf install -y lsof java +ADD neo4j-community-2.2.1-unix.tar.gz /home/ +RUN sed -i -e's/dbms.security.auth_enabled=true/dbms.security.auth_enabled=false/' /home/neo4j-community-2.2.1/conf/neo4j-server.properties +RUN sed -i -e's/#org.neo4j.server.webserver.address=0.0.0.0/org.neo4j.server.webserver.address=0.0.0.0/' /home/neo4j-community-2.2.1/conf/neo4j-server.properties +#RUN cd /root/ && wget http://neo4j.com/artifact.php?name=neo4j-community-2.2.1-unix.tar.gz -Oneo4j.tar.gz +WORKDIR /home/neo4j-community-2.2.1/bin +ENV NEO4J_ROOT /home/neo4j-community-2.2.1 diff --git a/res/docker/fedora/Dockerfile b/res/docker/fedora/Dockerfile index 7428f4fb..77e17a85 100644 --- a/res/docker/fedora/Dockerfile +++ b/res/docker/fedora/Dockerfile @@ -2,14 +2,12 @@ FROM fedora:21 MAINTAINER Alon Levy <alon@pobox.com> RUN yum install -y dnf # development requirements -RUN dnf install -y wget tar lsof java git iproute make rubygem-sass ant ipython tmux strace +RUN dnf install -y wget tar lsof git iproute make rubygem-sass ant ipython tmux strace # runtime requirements RUN dnf install -y python-flask net-tools python-pip python-gevent-websocket python-gevent-websocketio python-gevent-socketio # some of these have fedora packages. some of thoes are out of date # python-futures RUN pip install enum futures flask-socketio -ADD neo4j-community-2.2.1-unix.tar.gz /home/ -RUN sed -i -e's/dbms.security.auth_enabled=true/dbms.security.auth_enabled=false/' /home/neo4j-community-2.2.1/conf/neo4j-server.properties #RUN cd /root/ && wget http://neo4j.com/artifact.php?name=neo4j-community-2.2.1-unix.tar.gz -Oneo4j.tar.gz WORKDIR /home/rhizi ENV NEO4J_ROOT /home/neo4j-community-2.2.1 diff --git a/src/local/docker/docker-build-neo4j.sh b/src/local/docker/docker-build-neo4j.sh new file mode 100755 index 00000000..9be1ce94 --- /dev/null +++ b/src/local/docker/docker-build-neo4j.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ ! -e .git ]; then + echo must run from git checkout directory, the one with the .git directory. + exit 0 +fi +ROOT_DOCKER_DIR=$(dirname $(realpath $0))/../../../res/docker/ +NEO4J_TARBALL=$ROOT_DOCKER_DIR/neo4j-community-2.2.1-unix.tar.gz +if [ ! -e $NEO4J_TARBALL ]; then + echo downloading neo4j community edition 2.2.1 + wget http://neo4j.com/artifact.php?name=neo4j-community-2.2.1-unix.tar.gz -O$NEO4J_TARBALL +fi +docker build -t rhizi/neo4j:2.2.1 -f res/docker/3rd/neo4j-fedora/Dockerfile res/docker diff --git a/src/local/docker/docker-build.sh b/src/local/docker/docker-build.sh index f7931374..c98cc091 100755 --- a/src/local/docker/docker-build.sh +++ b/src/local/docker/docker-build.sh @@ -5,9 +5,4 @@ if [ ! -e .git ]; then echo run from top level checkout of rhizi repository exit 0 fi -NEO4J_TARBALL=$FEDORA_DOCKER/neo4j-community-2.2.1-unix.tar.gz -if [ ! -e $NEO4J_TARBALL ]; then - echo downloading neo4j community edition 2.2.1 - wget http://neo4j.com/artifact.php?name=neo4j-community-2.2.1-unix.tar.gz -O$NEO4J_TARBALL -fi -docker build -t alon/rhizi:test1 $FEDORA_DOCKER +docker build -t rhizi/fedora:0.1 $FEDORA_DOCKER diff --git a/src/local/docker/docker-run-neo4j.sh b/src/local/docker/docker-run-neo4j.sh new file mode 100755 index 00000000..18e60d44 --- /dev/null +++ b/src/local/docker/docker-run-neo4j.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker run --name rhizi.neo4j -p 7474:7474 -d rhizi/neo4j:2.2.1 ./neo4j console diff --git a/src/local/docker/docker-run.sh b/src/local/docker/docker-run.sh index 7df2d95d..5d55bee6 100755 --- a/src/local/docker/docker-run.sh +++ b/src/local/docker/docker-run.sh @@ -8,7 +8,11 @@ PORT=8080 if [ "x$1" != "x" ]; then PORT=$1 fi -sed -i -e 's/listen_address = 127.0.0.1/listen_address = 0.0.0.0/' res/etc/rhizi-server.conf -sed -i -e "s/listen_port.*/listen_port = $PORT/" res/etc/rhizi-server.conf -sed -i -e "s/SERVER_NAME.*/SERVER_NAME = rhizi.local:$PORT/" res/etc/rhizi-server.conf -docker run -it -p $PORT:$PORT -v `pwd`:/home/rhizi alon/rhizi:test1 ./run-both-local.sh +CONFIG_FILE=etc/rhizi-server.conf +SED_1='s|neo4j_url.*|neo4j_url = http:\/\/$N4_PORT_7474_TCP_ADDR:7474|' +SED_2='s|listen_address.*|listen_address = 0.0.0.0|' + +( + ant -f build.ant deploy-local -DlocalServerUseSymlink=false && + docker run --name rhizi.devel.$PORT -it -p $PORT:8080 --link rhizi.neo4j:n4 -v `pwd`/deploy-local:/home/rhizi rhizi/fedora:0.1 bash -c "sed -ie \"$SED_1\" $CONFIG_FILE; sed -ie \"$SED_2\" $CONFIG_FILE; python2.7 bin/rz_server.py --config-dir etc" +) |
