Repository: marmotta Updated Branches: refs/heads/develop abb1f00ed -> 900a70cfd
MARMOTTA-621: added initial (not functional yet) docker image for ostrich Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/900a70cf Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/900a70cf Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/900a70cf Branch: refs/heads/develop Commit: 900a70cfd33ceafb1513e8ecd41df9bd25fb42b9 Parents: abb1f00 Author: Sergio Fernández <[email protected]> Authored: Mon Dec 14 15:52:09 2015 +0100 Committer: Sergio Fernández <[email protected]> Committed: Mon Dec 14 15:52:09 2015 +0100 ---------------------------------------------------------------------- libraries/ostrich/backend/.dockerignore | 1 + libraries/ostrich/backend/Dockerfile | 70 ++++++++++++++++++++++++++++ libraries/ostrich/backend/README.md | 16 ++++++- 3 files changed, 85 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/900a70cf/libraries/ostrich/backend/.dockerignore ---------------------------------------------------------------------- diff --git a/libraries/ostrich/backend/.dockerignore b/libraries/ostrich/backend/.dockerignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/libraries/ostrich/backend/.dockerignore @@ -0,0 +1 @@ +build http://git-wip-us.apache.org/repos/asf/marmotta/blob/900a70cf/libraries/ostrich/backend/Dockerfile ---------------------------------------------------------------------- diff --git a/libraries/ostrich/backend/Dockerfile b/libraries/ostrich/backend/Dockerfile new file mode 100644 index 0000000..12195be --- /dev/null +++ b/libraries/ostrich/backend/Dockerfile @@ -0,0 +1,70 @@ +# Dockerfile for Apache Marmotta Ostrich Triplestore + +FROM debian:jessie +MAINTAINER Sergio Fernández <[email protected]> + +ADD . /src +WORKDIR /src + +# configuration +ENV DEBIAN_FRONTEND noninteractive +ENV DB_PATH /data/ostrich +ENV DB_PORT 10000 + +# base environment +RUN apt-get update -qq \ + && apt-get install -qq -y \ + locales \ + apt-utils \ + git \ + && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 +ENV LANG en_US.utf8 + +RUN apt-get update -qq \ + && apt-get install -y \ + build-essential \ + autoconf \ + libtool \ + cmake \ + clang \ + libc++-dev \ + python-all-dev \ + python-virtualenv \ + && apt-get install -y \ + libraptor2-dev \ + librasqal3-dev \ + libgoogle-glog-dev \ + libgflags-dev \ + libleveldb-dev \ + zlib1g-dev \ + libgflags-dev \ + libgtest-dev \ + libboost-all-dev \ + libtcmalloc-minimal4 + +RUN git clone https://github.com/wikier/grpc.git \ + && cd grpc \ + && git submodule update --init --recursive \ + && make \ + && make install \ + && cd .. + +# build +RUN mkdir build \ + && cd build \ + && cmake .. \ + && make \ + && cd .. + +# clean +RUN apt-get -y clean -qq \ + && apt-get -y autoclean -qq \ + && apt-get -y autoremove -qq \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir -p ${DB_PATH} + +EXPOSE 10000 + +CMD ["/src/build/service/marmotta_persistence", "-db", "${DB_PATH}", "-port" "${DB_PORT}"] + http://git-wip-us.apache.org/repos/asf/marmotta/blob/900a70cf/libraries/ostrich/backend/README.md ---------------------------------------------------------------------- diff --git a/libraries/ostrich/backend/README.md b/libraries/ostrich/backend/README.md index 047a968..c17a4be 100644 --- a/libraries/ostrich/backend/README.md +++ b/libraries/ostrich/backend/README.md @@ -1,4 +1,4 @@ -# Apache Marmotta LevelDB/C++ Backend +# Apache Marmotta Ostrich Backend This repository implements an experimental high-performance backend for Apache Marmotta using LevelDB as storage and gRPC as communication channel between the Java frontend @@ -24,7 +24,7 @@ Debian: apt-get install libraptor2-dev librasqal3-dev libgoogle-glog-dev libgflags-dev libleveldb-dev -The backend uses the new Proto 3 format and the gRPC SDK. These need to be installed separately, +The backend uses the new Proto 3 format and the gRPC SDK. These need to be installed separately; please follow the instructions at [https://github.com/grpc/grpc](https://github.com/grpc/grpc/blob/master/INSTALL). @@ -51,6 +51,18 @@ Start the backend from the cmake build directory as follows: The binary accepts many different options. Please see `--help` for details. +## Running Docker + +The C++ backend can be ran in the provided Docker image. Just build it: + + docker build -t apachemarmotta/ostrich . + +Then you can run Ostrich as a container: + + docker run -t -d -p 8080:8080 -p 10000:10000 apachemarmotta/ostrich + +connecting normally to `localhost:10000`. + ## Running Sharding The repository contains an experimental implementation of a sharding server that proxies and
