mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2024-06-07 19:40:43 +00:00
Remove archived image definitions
This commit is contained in:
parent
5ffc37ac80
commit
281bd3660f
15
README.md
15
README.md
@ -1,15 +1,2 @@
|
|||||||
|
|
||||||
This repository contains the various Dockerfile definitions I'm maintaining.
|
This repository contains a [Minecraft Server image](minecraft-server).
|
||||||
|
|
||||||
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/itzg/dockerfiles?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
||||||
|
|
||||||
### Images that are discontinued
|
|
||||||
|
|
||||||
##### Cassandra
|
|
||||||
|
|
||||||
I have found the [official image](https://hub.docker.com/_/cassandra/) to be quite sufficient
|
|
||||||
|
|
||||||
##### ELK Stack (Elasticsearch, Logstash, Kibana)
|
|
||||||
|
|
||||||
Each of the ELK components is now well supported by Elastic and the images here fell way
|
|
||||||
behind the latest upstream releases.
|
|
2
build
2
build
@ -1,8 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
pkgs=ubuntu-openjdk-7
|
|
||||||
pkgs="$pkgs minecraft-server"
|
pkgs="$pkgs minecraft-server"
|
||||||
pkgs="$pkgs titan-gremlin"
|
|
||||||
|
|
||||||
for p in $pkgs
|
for p in $pkgs
|
||||||
do
|
do
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
FROM java:8
|
|
||||||
|
|
||||||
LABEL maintainer "itzg"
|
|
||||||
|
|
||||||
ENV GITBLIT_VERSION 1.7.1
|
|
||||||
|
|
||||||
RUN wget -qO /tmp/gitblit.tgz http://dl.bintray.com/gitblit/releases/gitblit-$GITBLIT_VERSION.tar.gz
|
|
||||||
|
|
||||||
RUN tar -C /opt -xvf /tmp/gitblit.tgz && \
|
|
||||||
rm /tmp/gitblit.tgz
|
|
||||||
|
|
||||||
VOLUME ["/data"]
|
|
||||||
|
|
||||||
ADD start.sh /start
|
|
||||||
|
|
||||||
ENV GITBLIT_PATH=/opt/gitblit-${GITBLIT_VERSION} \
|
|
||||||
GITBLIT_HTTPS_PORT=443 \
|
|
||||||
GITBLIT_HTTP_PORT=80 \
|
|
||||||
GITBLIT_BASE_FOLDER=/data \
|
|
||||||
GITBLIT_ADMIN_USER=admin \
|
|
||||||
GITBLIT_INITIAL_REPO=
|
|
||||||
WORKDIR $GITBLIT_PATH
|
|
||||||
|
|
||||||
EXPOSE 80 443
|
|
||||||
|
|
||||||
ENTRYPOINT ["/start"]
|
|
@ -1,46 +0,0 @@
|
|||||||
Provides a ready-to-use instance of [GitBlit](http://gitblit.com/).
|
|
||||||
|
|
||||||
## Basic usage
|
|
||||||
|
|
||||||
Start the GitBlit container using
|
|
||||||
|
|
||||||
docker run -d -p 80:80 -p 443:443 --name gitblit itzg/gitblit
|
|
||||||
|
|
||||||
Access its web interface at the mapped HTTP (80) or HTTPS (443) port of the
|
|
||||||
Docker host. Login with the default credentials __admin__ / __admin__ .
|
|
||||||
|
|
||||||
|
|
||||||
## Data volume
|
|
||||||
|
|
||||||
In order to allow for future upgrades, run the container with a volume mount of `/data`, such as:
|
|
||||||
|
|
||||||
-v /tmp/gitblit-data:/data
|
|
||||||
|
|
||||||
## Initial repository creation
|
|
||||||
|
|
||||||
As a convenience for cluster configuration management with git
|
|
||||||
(such as with [Spring Cloud Config](https://cloud.spring.io/spring-cloud-config/)),
|
|
||||||
you may specify the name of an initial repository to be owned by the 'admin' user.
|
|
||||||
This can be enabled by passing the name of that repository via the environment
|
|
||||||
variable `GITBLIT_INITIAL_REPO`, such as
|
|
||||||
|
|
||||||
-e GITBLIT_INITIAL_REPO=default
|
|
||||||
|
|
||||||
## Create repositories with content
|
|
||||||
|
|
||||||
In addition to the approach above, you can push repostories with existing
|
|
||||||
content by attaching them to sub-directories of `/repos`, such as
|
|
||||||
|
|
||||||
docker run -v $HOME/git/example:/repos/example ...
|
|
||||||
|
|
||||||
## Custom configuration
|
|
||||||
|
|
||||||
You can add or override any of the `*.properties` files for configuring GitBlit,
|
|
||||||
typically `gitblit.properties`, by placing those files in a volume attached at
|
|
||||||
`/config`, such as
|
|
||||||
|
|
||||||
-v $(pwd)/extra-config:/config
|
|
||||||
|
|
||||||
The property files in that configuration directory will be renamed with the
|
|
||||||
suffix `.applied` to avoid overwriting manually modified configuration on
|
|
||||||
the next container startup.
|
|
103
gitblit/start.sh
103
gitblit/start.sh
@ -1,103 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
apply_base_data() {
|
|
||||||
contents=`ls $GITBLIT_BASE_FOLDER|wc -l`
|
|
||||||
|
|
||||||
if [ $contents = "0" ]; then
|
|
||||||
cp -r $GITBLIT_PATH/data/* $GITBLIT_BASE_FOLDER
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
apply_config() {
|
|
||||||
cp -rf /config/* $GITBLIT_BASE_FOLDER
|
|
||||||
}
|
|
||||||
|
|
||||||
create_repo() {
|
|
||||||
local repo_dir=$GITBLIT_BASE_FOLDER/git/$1.git
|
|
||||||
mkdir -p $repo_dir
|
|
||||||
cd $repo_dir
|
|
||||||
|
|
||||||
git init --bare
|
|
||||||
|
|
||||||
echo "
|
|
||||||
[gitblit]
|
|
||||||
description =
|
|
||||||
originRepository =
|
|
||||||
owner = $GITBLIT_ADMIN_USER
|
|
||||||
acceptNewPatchsets = true
|
|
||||||
acceptNewTickets = true
|
|
||||||
mergeTo = master
|
|
||||||
useIncrementalPushTags = false
|
|
||||||
allowForks = true
|
|
||||||
accessRestriction = PUSH
|
|
||||||
authorizationControl = AUTHENTICATED
|
|
||||||
verifyCommitter = false
|
|
||||||
showRemoteBranches = false
|
|
||||||
isFrozen = false
|
|
||||||
skipSizeCalculation = false
|
|
||||||
skipSummaryMetrics = false
|
|
||||||
federationStrategy = FEDERATE_THIS
|
|
||||||
isFederated = false
|
|
||||||
gcThreshold =
|
|
||||||
gcPeriod = 0
|
|
||||||
" >> config
|
|
||||||
|
|
||||||
git config --replace-all core.logallrefupdates false
|
|
||||||
|
|
||||||
echo "
|
|
||||||
CREATING repository '$1' with:
|
|
||||||
* read/clone access for all
|
|
||||||
* push access for authenticated users"
|
|
||||||
|
|
||||||
RET="file://$repo_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
apply_repos() {
|
|
||||||
for rdir in /repos/*; do
|
|
||||||
if [ -e $rdir/.git ]; then
|
|
||||||
r=$(basename $rdir)
|
|
||||||
create_repo $r
|
|
||||||
local url=$RET
|
|
||||||
cd $rdir
|
|
||||||
echo "* pushed existing content"
|
|
||||||
git push --all $url
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
create_initial_repo() {
|
|
||||||
if [ -d $GITBLIT_INITIAL_REPO ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
create_repo $GITBLIT_INITIAL_REPO
|
|
||||||
}
|
|
||||||
|
|
||||||
shopt -s nullglob
|
|
||||||
if [ ! -f /var/local/gitblit_firststart ]; then
|
|
||||||
FIRSTSTART=1
|
|
||||||
else
|
|
||||||
FIRSTSTART=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $FIRSTSTART = 1 ]; then
|
|
||||||
apply_base_data
|
|
||||||
|
|
||||||
echo "
|
|
||||||
Applying configuration from /config
|
|
||||||
"
|
|
||||||
apply_config
|
|
||||||
touch /var/local/gitblit_firststart
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [[ -n $GITBLIT_INITIAL_REPO ]]; then
|
|
||||||
create_initial_repo
|
|
||||||
fi
|
|
||||||
apply_repos
|
|
||||||
|
|
||||||
cd $GITBLIT_PATH
|
|
||||||
$JAVA_HOME/bin/java -jar $GITBLIT_PATH/gitblit.jar \
|
|
||||||
--httpsPort $GITBLIT_HTTPS_PORT --httpPort $GITBLIT_HTTP_PORT \
|
|
||||||
--baseFolder $GITBLIT_BASE_FOLDER
|
|
1
jekyll-github-pages/.gitignore
vendored
1
jekyll-github-pages/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/site
|
|
@ -1,23 +0,0 @@
|
|||||||
FROM ubuntu:trusty
|
|
||||||
|
|
||||||
LABEL maintainer "itzg"
|
|
||||||
|
|
||||||
ENV APT_GET_UPDATE 2014-09-18
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get -y upgrade
|
|
||||||
|
|
||||||
RUN apt-get -y install ruby ruby-dev make patch nodejs
|
|
||||||
RUN gem install bundler
|
|
||||||
|
|
||||||
ADD Gemfile /tmp/Gemfile
|
|
||||||
WORKDIR /tmp
|
|
||||||
RUN bundle install
|
|
||||||
|
|
||||||
ADD template /site-template
|
|
||||||
|
|
||||||
VOLUME ["/site"]
|
|
||||||
EXPOSE 4000
|
|
||||||
|
|
||||||
ADD start.sh /start
|
|
||||||
CMD ["/start"]
|
|
@ -1,2 +0,0 @@
|
|||||||
source 'https://rubygems.org'
|
|
||||||
gem 'github-pages'
|
|
@ -1,14 +0,0 @@
|
|||||||
This container is pre-configured according to the
|
|
||||||
[GitHub Pages use of Jekyll](https://help.github.com/articles/using-jekyll-with-pages).
|
|
||||||
|
|
||||||
It serves up the generated content on port 4000 and the site is generated from
|
|
||||||
the container's `/site` volume. You can either bring your own site content or
|
|
||||||
let it generate some VERY simple content along with the standard Jekyll directory
|
|
||||||
layout.
|
|
||||||
|
|
||||||
A typical way to run this:
|
|
||||||
|
|
||||||
docker run -it -p 4000:4000 -v $(pwd)/site:/site itzg/jekyll-github-pages
|
|
||||||
|
|
||||||
where either it will load your content or initialize the content under
|
|
||||||
`site` in your current working directory.
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ `ls /site/index.* 2> /dev/null | wc -l` = 0 ]; then
|
|
||||||
echo "Preparing /site with default content..."
|
|
||||||
cp -r /site-template/* /site
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e /site/Gemfile ]; then
|
|
||||||
cp /tmp/Gemfile /site/Gemfile
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd /site
|
|
||||||
bundle exec jekyll serve
|
|
@ -1 +0,0 @@
|
|||||||
highlighter: pygments
|
|
@ -1,3 +0,0 @@
|
|||||||
<footer>
|
|
||||||
<i>Goodbye</i>
|
|
||||||
</footer>
|
|
@ -1,3 +0,0 @@
|
|||||||
<header>
|
|
||||||
<h1>{{ page.title }}</h1>
|
|
||||||
</header>
|
|
@ -1,18 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en-US">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
|
|
||||||
<title>{{ page.title }}</title>
|
|
||||||
|
|
||||||
<!-- Latest compiled and minified CSS -->
|
|
||||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
|
|
||||||
|
|
||||||
<!-- Optional theme -->
|
|
||||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
|
|
||||||
|
|
||||||
<!-- Latest compiled and minified JavaScript -->
|
|
||||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
|
|
||||||
</head>
|
|
@ -1,12 +0,0 @@
|
|||||||
{% include top.html %}
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
{% include header.html %}
|
|
||||||
|
|
||||||
{{ content }}
|
|
||||||
|
|
||||||
{% include footer.html %}
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
layout: default
|
|
||||||
title: Powered by Jekyll
|
|
||||||
overview: true
|
|
||||||
---
|
|
||||||
This is where the content goes.
|
|
@ -1,17 +0,0 @@
|
|||||||
FROM java:openjdk-8u102-jdk
|
|
||||||
|
|
||||||
LABEL maintainer "itzg"
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
||||||
graphviz \
|
|
||||||
&& apt-get clean
|
|
||||||
|
|
||||||
ENV JENKINS_HOME=/data
|
|
||||||
|
|
||||||
VOLUME ["/data", "/root", "/opt/jenkins"]
|
|
||||||
EXPOSE 8080 38252
|
|
||||||
|
|
||||||
COPY download-and-start.sh /opt/download-and-start
|
|
||||||
|
|
||||||
CMD ["/opt/download-and-start"]
|
|
@ -1,51 +0,0 @@
|
|||||||
A self-upgrading [Jenkins CI](http://jenkins-ci.org/) server
|
|
||||||
|
|
||||||
# Basic Usage
|
|
||||||
|
|
||||||
To start Jenkins with the latest version:
|
|
||||||
|
|
||||||
ID=$(docker run -d -p 8080:8080 itzg/jenkins)
|
|
||||||
|
|
||||||
At a later time, you can upgrade by restarting the container:
|
|
||||||
|
|
||||||
docker stop $ID
|
|
||||||
docker start $ID
|
|
||||||
|
|
||||||
# Attaching host directory to Jenkins home directory
|
|
||||||
|
|
||||||
The Jenkins home directory is attachable at `/data`, so attaching to a host volume
|
|
||||||
would be:
|
|
||||||
|
|
||||||
ID=$(docker run -d -p 8080:8080 -v /SOME_HOST_DIR:/data itzg/jenkins
|
|
||||||
|
|
||||||
# Enabling Jenkins slave agents
|
|
||||||
|
|
||||||
By default, Jenkins will pick a random port to allow slave nodes launched
|
|
||||||
by JNLP. Since Docker networking is basically a firewall, a random port
|
|
||||||
won't work for us. Instead the fixed port **38252** was chosen (arbitrarily)
|
|
||||||
to be exposed by the container.
|
|
||||||
|
|
||||||
Launch your Jenkins container using
|
|
||||||
|
|
||||||
ID=$(docker run -d -p 8080:8080 -p 38252:38252 itzg/jenkins)
|
|
||||||
|
|
||||||
and configure the port in the Global Security settings:
|
|
||||||
|
|
||||||
![](http://i.imgur.com/PhQiEHy.png)
|
|
||||||
|
|
||||||
# Image Parameters
|
|
||||||
|
|
||||||
## Volumes
|
|
||||||
|
|
||||||
* `/data` - a majority of the Jenkins content is maintained here, such as workspaces
|
|
||||||
* `/root` - some tools, such as Maven, utilize the home directory for default repository storage
|
|
||||||
* `/opt/jenkins` - the installed distribution is expanded here
|
|
||||||
|
|
||||||
## Ports
|
|
||||||
|
|
||||||
* `8080` - for the web UI
|
|
||||||
* `38252` - for slave incoming JMX access
|
|
||||||
|
|
||||||
## Environment Variables
|
|
||||||
|
|
||||||
* `JENKINS_OPTS` - passed to the initial Java invocation of Jenkins
|
|
@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
mirrorUrl=http://mirrors.jenkins-ci.org/war/latest/jenkins.war
|
|
||||||
url=$(curl -s --head $mirrorUrl|awk -F': ' '$1 == "Location" { print $2 }' | sed 's/[[:space:]]*$//')
|
|
||||||
version=$(echo $url | sed 's#.*/war/\(.*\)/jenkins.war#\1#')
|
|
||||||
|
|
||||||
mkdir -p /opt/jenkins
|
|
||||||
trackingFile=/opt/jenkins/INSTALLED
|
|
||||||
|
|
||||||
installed=
|
|
||||||
if [ -f $trackingFile ]; then
|
|
||||||
installed=$(cat $trackingFile)
|
|
||||||
echo "Version installed is $installed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $version != "$installed" ]; then
|
|
||||||
echo "Downloading $version from '$url'"
|
|
||||||
while ! curl -s -o /opt/jenkins/jenkins.war "$url"
|
|
||||||
do
|
|
||||||
echo "Trying again in 5 seconds"
|
|
||||||
sleep 5
|
|
||||||
done
|
|
||||||
|
|
||||||
echo $version > $trackingFile
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
cd /opt/jenkins
|
|
||||||
exec java $JENKINS_OPTS -jar jenkins.war
|
|
@ -1,17 +0,0 @@
|
|||||||
FROM openjdk:8-jre
|
|
||||||
|
|
||||||
LABEL maintainer "itzg"
|
|
||||||
|
|
||||||
ENV TITAN_VERSION 0.5.4
|
|
||||||
|
|
||||||
ADD http://s3.thinkaurelius.com/downloads/titan/titan-$TITAN_VERSION-hadoop2.zip /tmp/titan.zip
|
|
||||||
RUN unzip -q /tmp/titan.zip -d /opt && \
|
|
||||||
rm /tmp/titan.zip
|
|
||||||
|
|
||||||
ENV TITAN_HOME /opt/titan-$TITAN_VERSION-hadoop2
|
|
||||||
WORKDIR $TITAN_HOME
|
|
||||||
|
|
||||||
VOLUME ["/conf","/data"]
|
|
||||||
ADD start-gremlin.sh /opt/start-gremlin.sh
|
|
||||||
|
|
||||||
CMD ["/opt/start-gremlin.sh"]
|
|
@ -1,63 +0,0 @@
|
|||||||
Runs the Gremlin console from the Titan Graph Database's "all" distribution.
|
|
||||||
|
|
||||||
# Basic Usage
|
|
||||||
|
|
||||||
To start the Gremlin console with the default configuration files available:
|
|
||||||
|
|
||||||
docker run -it itzg/titan-gremlin
|
|
||||||
|
|
||||||
In order to adjust or further define property files to use within Gremlin,
|
|
||||||
attach a host directory to the container's `/conf` such as
|
|
||||||
|
|
||||||
docker run -it -v $(pwd)/conf:/conf itzg/titan-gremlin
|
|
||||||
|
|
||||||
After running once your host directory will be populated with the distribution-default
|
|
||||||
configuration files. Modify those or add to them and they will be available during
|
|
||||||
the next time you (re)start your container.
|
|
||||||
|
|
||||||
# Connecting to Cassandra and Elasticsearch Containers
|
|
||||||
|
|
||||||
First start containers for Cassandra and Elasticsearch (pre-2.x),
|
|
||||||
where the `--name` you choose can be arbitrary or left off to use a generated name.
|
|
||||||
|
|
||||||
docker run -d --name gremlin-cass itzg/cassandra
|
|
||||||
docker run -d --name gremlin-es itzg/elasticsearch:1.x
|
|
||||||
|
|
||||||
Now start Gremlin with networking links to those containers with the aliases
|
|
||||||
|
|
||||||
* `--link <container>:cass`
|
|
||||||
* `--link <container>:es`
|
|
||||||
|
|
||||||
such as
|
|
||||||
|
|
||||||
docker run -it --rm --link gremlin-cass:cass --link gremlin-es:es itzg/titan-gremlin
|
|
||||||
|
|
||||||
and with that you can follow the
|
|
||||||
[Graph of the Gods example](http://s3.thinkaurelius.com/docs/titan/current/getting-started.html), such as
|
|
||||||
|
|
||||||
gremlin> GraphOfTheGodsFactory.load(g)
|
|
||||||
gremlin> saturn = g.V.has('name','saturn').next()
|
|
||||||
==>v[256]
|
|
||||||
gremlin> saturn.map()
|
|
||||||
==>name=saturn
|
|
||||||
==>age=10000
|
|
||||||
gremlin> saturn.in('father').in('father').name
|
|
||||||
==>hercules
|
|
||||||
|
|
||||||
# Running and Connecting with Docker Compose
|
|
||||||
|
|
||||||
Create the following Compose content as the file `docker-compose.yml` and in
|
|
||||||
that directory invoke `docker-compose run titan` to run the Gremlin shell
|
|
||||||
with the supporting Elasticsearch and Cassandra containers.
|
|
||||||
|
|
||||||
```
|
|
||||||
titan:
|
|
||||||
image: itzg/titan-gremlin
|
|
||||||
links:
|
|
||||||
- cass
|
|
||||||
- es
|
|
||||||
cass:
|
|
||||||
image: itzg/cassandra
|
|
||||||
es:
|
|
||||||
image: itzg/elasticsearch:1.x
|
|
||||||
```
|
|
@ -1,64 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
args=
|
|
||||||
|
|
||||||
if [ $(ls /conf|wc -l) = 0 ]; then
|
|
||||||
cp -r $TITAN_HOME/conf/* /conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f /tmp/titan.properties
|
|
||||||
|
|
||||||
if [ -n "$CASS_PORT_9160_TCP_ADDR" ]; then
|
|
||||||
|
|
||||||
shortcut=/tmp/titan.properties
|
|
||||||
cat >> /tmp/titan.properties <<END
|
|
||||||
storage.backend=cassandra
|
|
||||||
storage.hostname=$CASS_PORT_9160_TCP_ADDR
|
|
||||||
END
|
|
||||||
|
|
||||||
elif [ -n "$CASS_ADDR" ]; then
|
|
||||||
|
|
||||||
shortcut=/tmp/titan.properties
|
|
||||||
cat >> /tmp/titan.properties <<END
|
|
||||||
storage.backend=cassandra
|
|
||||||
storage.hostname=$CASS_ADDR
|
|
||||||
END
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
esAddr=${ES_ENV_PUBLISH_AS:-${ES_PORT_9300_TCP_ADDR}}
|
|
||||||
|
|
||||||
if [ -n "$ES_CLUSTER" -o -n "$esAddr" ]; then
|
|
||||||
shortcut=/tmp/titan.properties
|
|
||||||
cat >> /tmp/titan.properties <<END
|
|
||||||
index.search.backend=elasticsearch
|
|
||||||
index.search.elasticsearch.client-only=true
|
|
||||||
END
|
|
||||||
|
|
||||||
if [ -n "$ES_CLUSTER" ]; then
|
|
||||||
cat >> /tmp/titan.properties <<END
|
|
||||||
index.search.elasticsearch.ext.cluster.name=$ES_CLUSTER
|
|
||||||
END
|
|
||||||
fi
|
|
||||||
if [ -n "$esAddr" ]; then
|
|
||||||
# strip off the port spec, if present
|
|
||||||
esAddr=$(echo $esAddr | cut -d: -f1)
|
|
||||||
cat >> /tmp/titan.properties <<END
|
|
||||||
index.search.hostname=$esAddr
|
|
||||||
END
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$shortcut" ]; then
|
|
||||||
cat > /tmp/init.groovy <<END
|
|
||||||
g = TitanFactory.open('$shortcut')
|
|
||||||
println 'The graph \'g\' was opened using $shortcut'
|
|
||||||
END
|
|
||||||
args="$args /tmp/init.groovy"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Allow a little extra time for Cassandra to be ready
|
|
||||||
sleep 1
|
|
||||||
exec $TITAN_HOME/bin/gremlin.sh $args
|
|
@ -1,54 +0,0 @@
|
|||||||
FROM itzg/ubuntu-openjdk-7
|
|
||||||
|
|
||||||
LABEL 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"]
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
/opt/titan/bin/gremlin.sh $*
|
|
@ -1,12 +0,0 @@
|
|||||||
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()
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
#!/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 $*
|
|
@ -1,28 +0,0 @@
|
|||||||
<?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>
|
|
@ -1,7 +0,0 @@
|
|||||||
import com.thinkaurelius.titan.core.TitanFactory
|
|
||||||
import com.thinkaurelius.titan.example.GraphOfTheGodsFactory
|
|
||||||
|
|
||||||
def g = TitanFactory.open('conf/titan.properties')
|
|
||||||
GraphOfTheGodsFactory.load(g)
|
|
||||||
|
|
||||||
g.shutdown()
|
|
@ -1,8 +0,0 @@
|
|||||||
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
|
|
@ -1,11 +0,0 @@
|
|||||||
FROM ubuntu:trusty
|
|
||||||
|
|
||||||
LABEL maintainer "itzg"
|
|
||||||
|
|
||||||
ENV APT_GET_UPDATE 2015-10-29
|
|
||||||
RUN apt-get update
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive \
|
|
||||||
apt-get -q -y install openjdk-7-jre-headless wget unzip \
|
|
||||||
&& apt-get clean
|
|
||||||
|
|
||||||
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
|
|
@ -1 +0,0 @@
|
|||||||
Provides the latest OpenJDK JRE on top of Ubuntu Trusty (14.04).
|
|
Loading…
Reference in New Issue
Block a user