This commit is contained in:
Geoff Bourne 2014-07-16 23:10:14 +00:00
commit 6163e080cd
11 changed files with 172 additions and 1 deletions

30
gitblit/Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-07-19
RUN apt-get update
RUN apt-get -y install wget tar
ENV GITBLIT_VERSION 1.6.0
RUN wget -O /tmp/gitblit.tgz http://dl.bintray.com/gitblit/releases/gitblit-$GITBLIT_VERSION.tar.gz
RUN mkdir /opt/gitblit
RUN tar -C /opt/gitblit -xvf /tmp/gitblit.tgz
RUN rm /tmp/gitblit.tgz
VOLUME ["/data"]
ADD start.sh /start
WORKDIR /opt/gitblit
ENV GITBLIT_PATH /opt/gitblit
ENV GITBLIT_HTTPS_PORT 443
ENV GITBLIT_HTTP_PORT 80
ENV GITBLIT_BASE_FOLDER /data
EXPOSE 80 443
CMD ["/start"]

5
gitblit/README.md Normal file
View file

@ -0,0 +1,5 @@
Provides a ready-to-use instance of [GitBlit](http://gitblit.com/). In order to allow for
future upgrades run the container with a volume mount of `/data`, such as:
docker run -d -p 80:80 p 443:443 -v /tmp/gitblit-data:/data --name gitblit itzg/gitblit

10
gitblit/start.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
contents=`ls $GITBLIT_BASE_FOLDER|wc -l`
if [ $contents = "0" ]; then
cp -r $GITBLIT_PATH/data/* $GITBLIT_BASE_FOLDER
fi
$JAVA_HOME/bin/java -jar $GITBLIT_PATH/gitblit.jar --httpsPort $GITBLIT_HTTPS_PORT --httpPort $GITBLIT_HTTP_PORT --baseFolder $GITBLIT_BASE_FOLDER

54
titandb/Dockerfile Normal file
View file

@ -0,0 +1,54 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-07-19
RUN apt-get update
RUN apt-get install -y wget unzip
ENV TITAN_VER 0.4.4
ENV TITAN_STORAGE all
ENV REXSTER_VER 2.4.0
RUN wget -O /tmp/titan.zip http://s3.thinkaurelius.com/downloads/titan/titan-$TITAN_STORAGE-$TITAN_VER.zip
RUN wget -O /tmp/rexster.zip http://tinkerpop.com/downloads/rexster/rexster-server-$REXSTER_VER.zip
WORKDIR /opt
RUN unzip /tmp/titan.zip
RUN rm /tmp/titan.zip
RUN unzip /tmp/rexster.zip
RUN rm /tmp/rexster.zip
RUN ln -s titan-$TITAN_STORAGE-$TITAN_VER titan
RUN ln -s rexster-server-$REXSTER_VER rexster-server
RUN mkdir /opt/rexster-server/ext/titan
RUN ln -s /opt/titan-$TITAN_STORAGE-$TITAN_VER/lib/* /opt/rexster-server/ext/titan
RUN wget -O /opt/rexster-server/ext/titan/titan-rexter-$TITAN_VER.jar \
http://central.maven.org/maven2/com/thinkaurelius/titan/titan-rexster/$TITAN_VER/titan-rexster-$TITAN_VER.jar
# Clean up distro area
RUN rm /opt/rexster-server/ext/titan/log4j* /opt/rexster-server/ext/titan/slf4j*
RUN rm /opt/rexster-server/lib/lucene-core*
ADD gremlin /usr/local/bin/gremlin
ADD rexster /usr/local/bin/rexster
WORKDIR titan
ADD titan.properties /opt/titan/conf/titan.properties
ADD init-graph-storage.groovy /tmp/init-graph-storage.groovy
VOLUME ["/data", "/config", "/scripts"]
RUN ln -s /data /opt/titan/db
RUN gremlin -e /tmp/init-graph-storage.groovy && rm /tmp/init-graph-storage.groovy
EXPOSE 8182 8184
ADD rexster.xml /config/rexster.xml
CMD ["/usr/local/bin/rexster", "-s", "-c", "/config/rexster.xml"]

3
titandb/gremlin Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
/opt/titan/bin/gremlin.sh $*

View file

@ -0,0 +1,12 @@
import com.thinkaurelius.titan.core.TitanFactory
import com.thinkaurelius.titan.core.TitanGraph
import com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration
import org.apache.commons.configuration.BaseConfiguration
import org.apache.commons.configuration.Configuration
// Setup a blank one
TitanGraph g = TitanFactory.open('conf/titan.properties')
g.shutdown()

14
titandb/rexster Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
if [ -n "$PUBLISH_ADDR" ]; then
echo "Enabling Doghouse access at http://$PUBLISH_ADDR:8182/doghouse"
sed -i "s#<base-uri>.*</base-uri>#<base-uri>http://$PUBLISH_ADDR</base-uri>#" /config/rexster.xml
fi
if [ -n "$SCRIPT" ]; then
echo "Running Gremlin script $SCRIPT from /scripts..."
gremlin -e /scripts/$SCRIPT
fi
echo "Starting Rexster..."
/opt/rexster-server/bin/rexster.sh $*

28
titandb/rexster.xml Normal file
View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<rexster>
<http>
<base-uri>http://localhost</base-uri>
</http>
<graphs>
<graph>
<graph-name>titan</graph-name>
<graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
<graph-location>/data/persistit</graph-location>
<graph-read-only>false</graph-read-only>
<properties>
<storage.backend>persistit</storage.backend>
<storage.directory>/data/persistit</storage.directory>
<storage.buffercount>5000</storage.buffercount>
<storage.index.search.backend>elasticsearch</storage.index.search.backend>
<storage.index.search.local-mode>true</storage.index.search.local-mode>
<storage.index.search.client-only>false</storage.index.search.client-only>
<storage.index.search.directory>/data/es</storage.index.search.directory>
</properties>
<extensions>
<allows>
<allow>tp:gremlin</allow>
</allows>
</extensions>
</graph>
</graphs>
</rexster>

View file

@ -0,0 +1,7 @@
import com.thinkaurelius.titan.core.TitanFactory
import com.thinkaurelius.titan.example.GraphOfTheGodsFactory
def g = TitanFactory.open('conf/titan.properties')
GraphOfTheGodsFactory.load(g)
g.shutdown()

8
titandb/titan.properties Normal file
View file

@ -0,0 +1,8 @@
storage.backend=persistit
storage.directory=/data/persistit
storage.buffercount=5000
storage.index.search.backend=elasticsearch
storage.index.search.local-mode=true
storage.index.search.client-only=false
storage.index.search.directory=/data/es

View file

@ -2,7 +2,7 @@ FROM ubuntu:trusty
MAINTAINER itzg
ENV BUILT_ON 20140517
ENV APT_GET_UPDATE 2014-07-19
RUN apt-get update
RUN apt-get install -y openjdk-7-jre-headless