From 492a682e34d66dd3046ed08f7aee80fb5317f777 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 15 Oct 2016 16:13:16 +0200 Subject: [PATCH] Add custom neo4j dockerfile with graphaware and noderank plugins --- Dockerfile | 23 ----------------------- Dockerfile.app | 23 +++++++++++++++++++++++ Dockerfile.neo4j | 14 ++++++++++++++ docker-compose.yml | 19 +++++++++++-------- 4 files changed, 48 insertions(+), 31 deletions(-) delete mode 100644 Dockerfile create mode 100644 Dockerfile.app create mode 100644 Dockerfile.neo4j diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 0e47cdb..0000000 --- a/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM ruby:2.2.4 - -ENV RAILS_ENV=production - -RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main contrib non-free' >> /etc/apt/sources.list -RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - -RUN apt-get update -qq && apt-get install -y build-essential libpq-dev libxml2-dev libxslt1-dev nodejs ffmpeg && rm -rf /var/lib/apt/lists/* -RUN npm install -g npm@3 && npm install -g yarn -RUN mkdir /mastodon - -WORKDIR /mastodon - -ADD Gemfile /mastodon/Gemfile -ADD Gemfile.lock /mastodon/Gemfile.lock -RUN bundle install --deployment --without test development - -ADD package.json /mastodon/package.json -ADD yarn.lock /mastodon/yarn.lock -RUN yarn - -ADD . /mastodon - -VOLUME ["/mastodon/public/system", "/mastodon/public/assets"] diff --git a/Dockerfile.app b/Dockerfile.app new file mode 100644 index 0000000..0e47cdb --- /dev/null +++ b/Dockerfile.app @@ -0,0 +1,23 @@ +FROM ruby:2.2.4 + +ENV RAILS_ENV=production + +RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main contrib non-free' >> /etc/apt/sources.list +RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - +RUN apt-get update -qq && apt-get install -y build-essential libpq-dev libxml2-dev libxslt1-dev nodejs ffmpeg && rm -rf /var/lib/apt/lists/* +RUN npm install -g npm@3 && npm install -g yarn +RUN mkdir /mastodon + +WORKDIR /mastodon + +ADD Gemfile /mastodon/Gemfile +ADD Gemfile.lock /mastodon/Gemfile.lock +RUN bundle install --deployment --without test development + +ADD package.json /mastodon/package.json +ADD yarn.lock /mastodon/yarn.lock +RUN yarn + +ADD . /mastodon + +VOLUME ["/mastodon/public/system", "/mastodon/public/assets"] diff --git a/Dockerfile.neo4j b/Dockerfile.neo4j new file mode 100644 index 0000000..0b20d49 --- /dev/null +++ b/Dockerfile.neo4j @@ -0,0 +1,14 @@ +FROM neo4j:latest + +ENV NEO4J_AUTH=none + +RUN cd /var/lib/neo4j/plugins \ + && wget http://products.graphaware.com/download/framework-server-community/graphaware-server-community-all-3.0.6.43.jar \ + && wget http://products.graphaware.com/download/noderank/graphaware-noderank-3.0.6.43.3.jar +RUN echo "dbms.unmanaged_extension_classes=com.graphaware.server=/graphaware" >> /var/lib/neo4j/conf/neo4j.conf +RUN echo 'com.graphaware.runtime.enabled=true\n\ +com.graphaware.module.NR.1=com.graphaware.module.noderank.NodeRankModuleBootstrapper\n\ +com.graphaware.module.NR.maxTopRankNodes=10\n\ +com.graphaware.module.NR.dampingFactor=0.85\n\ +com.graphaware.module.NR.propertyKey=nodeRank\n'\ + >> /var/lib/neo4j/conf/neo4j.conf diff --git a/docker-compose.yml b/docker-compose.yml index 18af16b..59e0e54 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,14 +5,14 @@ services: redis: image: redis neo4j: - image: neo4j - environment: - - NEO4J_AUTH=none - app: - build: . - env_file: .env.production + build: + context: . + dockerfile: Dockerfile.neo4j web: - extends: app + build: + context: . + dockerfile: Dockerfile.app + env_file: .env.production command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "3000:3000" @@ -24,7 +24,10 @@ services: - ./public/assets:/mastodon/public/assets - ./public/system:/mastodon/public/system sidekiq: - extends: app + build: + context: . + dockerfile: Dockerfile.app + env_file: .env.production command: bundle exec sidekiq -q default -q mailers depends_on: - db