diff --git a/Dockerfile b/Dockerfile index f33fcc2f6a6..c8d2fe835ae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:0.9.10 +FROM phusion/baseimage:0.9.15 MAINTAINER Open Knowledge # Disable SSH diff --git a/contrib/docker/docker-cloud.yml b/contrib/docker/docker-cloud.yml new file mode 100644 index 00000000000..1275dbfa6c1 --- /dev/null +++ b/contrib/docker/docker-cloud.yml @@ -0,0 +1,11 @@ +ckan: + image: ckan/ckan:latest + links: + - db + - solr + ports: + - "80:80" +db: + image: ckan/postgresql:latest +solr: + image: ckan/solr:latest diff --git a/contrib/docker/docker-compose.yml b/contrib/docker/docker-compose.yml index 01ecd5aa681..fa722622daa 100644 --- a/contrib/docker/docker-compose.yml +++ b/contrib/docker/docker-compose.yml @@ -1,11 +1,19 @@ -ckan: - image: 'ckan/ckan:latest' - links: - - db - - solr - ports: - - '80:80' -db: - image: 'ckan/postgresql:latest' -solr: - image: 'ckan/solr:latest' +version: '2' +services: + ckan: + container_name: ckan + image: ckan/ckan:latest + depends_on: + - db + - solr + links: + - db + - solr + ports: + - "80:80" + db: + container_name: db + image: ckan/postgresql:latest + solr: + container_name: solr + image: ckan/solr:latest diff --git a/contrib/docker/postgresql/Dockerfile b/contrib/docker/postgresql/Dockerfile index 2fd05ef813d..30113187281 100644 --- a/contrib/docker/postgresql/Dockerfile +++ b/contrib/docker/postgresql/Dockerfile @@ -1,4 +1,4 @@ -FROM postgres:latest +FROM postgres:9.5 MAINTAINER Open Knowledge # Customize default user/pass/db diff --git a/contrib/docker/solr/Dockerfile b/contrib/docker/solr/Dockerfile index b702fd72523..c815b277b3f 100644 --- a/contrib/docker/solr/Dockerfile +++ b/contrib/docker/solr/Dockerfile @@ -1,23 +1,28 @@ -FROM ubuntu:14.04 +FROM solr:6.0 MAINTAINER Open Knowledge -# Install Java -RUN apt-get -q -y update -RUN DEBIAN_FRONTEND=noninteractive apt-get -q -y install default-jre-headless +# Enviroment +ENV SOLR_CORE ckan -# Install Solr -ENV SOLR_HOME /opt/solr/example/solr -ENV SOLR_VERSION 4.8.1 +# User +USER root -RUN mkdir -p /opt/solr -ADD https://archive.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz /opt/solr-$SOLR_VERSION.tgz -RUN tar zxf /opt/solr-$SOLR_VERSION.tgz -C /opt/solr --strip-components 1 +# Create Directories +RUN mkdir -p /opt/solr/server/solr/$SOLR_CORE/conf +RUN mkdir -p /opt/solr/server/solr/$SOLR_CORE/data -# Install CKAN Solr core -RUN cp -R $SOLR_HOME/collection1/ $SOLR_HOME/ckan/ -RUN echo name=ckan > $SOLR_HOME/ckan/core.properties -ADD https://raw.githubusercontent.com/ckan/ckan/master/ckan/config/solr/schema.xml $SOLR_HOME/ckan/conf/schema.xml +# Adding Files +ADD ./solrconfig.xml \ +https://raw.githubusercontent.com/ckan/ckan/ckan-2.5.2/ckan/config/solr/schema.xml \ +https://raw.githubusercontent.com/apache/lucene-solr/releases/lucene-solr/6.0.0/solr/server/solr/configsets/basic_configs/conf/currency.xml \ +https://raw.githubusercontent.com/apache/lucene-solr/releases/lucene-solr/6.0.0/solr/server/solr/configsets/basic_configs/conf/synonyms.txt \ +https://raw.githubusercontent.com/apache/lucene-solr/releases/lucene-solr/6.0.0/solr/server/solr/configsets/basic_configs/conf/stopwords.txt \ +https://raw.githubusercontent.com/apache/lucene-solr/releases/lucene-solr/6.0.0/solr/server/solr/configsets/basic_configs/conf/protwords.txt \ +https://raw.githubusercontent.com/apache/lucene-solr/releases/lucene-solr/6.0.0/solr/server/solr/configsets/data_driven_schema_configs/conf/elevate.xml \ +/opt/solr/server/solr/$SOLR_CORE/conf/ -EXPOSE 8983 -WORKDIR /opt/solr/example -CMD ["java", "-jar", "start.jar"] \ No newline at end of file +# Create Core.properties +RUN echo name=$SOLR_CORE > /opt/solr/server/solr/$SOLR_CORE/core.properties + +# Giving ownership to Solr +RUN chown -R $SOLR_USER:$SOLR_USER /opt/solr/server/solr/$SOLR_CORE diff --git a/contrib/docker/solr/solrconfig.xml b/contrib/docker/solr/solrconfig.xml new file mode 100644 index 00000000000..9ac620c2a9d --- /dev/null +++ b/contrib/docker/solr/solrconfig.xml @@ -0,0 +1,343 @@ + + + + + + 6.0.0 + + + + + + + + + + + ${solr.data.dir:} + + + + + + + ${solr.lock.type:native} + + + + + + + + ${solr.ulog.dir:} + ${solr.ulog.numVersionBuckets:65536} + + + + ${solr.autoCommit.maxTime:15000} + false + + + + ${solr.autoSoftCommit.maxTime:-1} + + + + + + + 1024 + + + + + true + 20 + 200 + + + + + + + + + + false + 2 + + + + + + + + + + + + + + explicit + 10 + + + + + + + + explicit + json + true + + + + + + + + explicit + + + + + + + + _text_ + + + + + + + + add-unknown-fields-to-the-schema + + + + + + + + true + ignored_ + _text_ + + + + + + + + + + + explicit + true + + + + + + + text_general + + + default + _text_ + solr.DirectSolrSpellChecker + internal + 0.5 + 2 + 1 + 5 + 4 + 0.01 + + + + + + + + default + on + true + 10 + 5 + 5 + true + true + 10 + 5 + + + + spellcheck + + + + + + + + + + true + + + tvComponent + + + + + + + + + + true + false + + + + terms + + + + + + + string + elevate.xml + + + + + + + explicit + + + elevator + + + + + + + + + + + 100 + + + + + + 70 + 0.5 + [-\w ,/\n\"']{20,200} + + + + + + ]]> + ]]> + + + + + + + + + + + + ,, + ,, + ,, + ,, + ,]]> + ]]> + + + + + + + 10 + .,!? + + + + + + WORD + en + US + + + + + + + + + + + + + + + + [^\w-\.] + _ + + + + + + + yyyy-MM-dd'T'HH:mm:ss.SSSZ + yyyy-MM-dd'T'HH:mm:ss,SSSZ + yyyy-MM-dd'T'HH:mm:ss.SSS + yyyy-MM-dd'T'HH:mm:ss,SSS + yyyy-MM-dd'T'HH:mm:ssZ + yyyy-MM-dd'T'HH:mm:ss + yyyy-MM-dd'T'HH:mmZ + yyyy-MM-dd'T'HH:mm + yyyy-MM-dd HH:mm:ss.SSSZ + yyyy-MM-dd HH:mm:ss,SSSZ + yyyy-MM-dd HH:mm:ss.SSS + yyyy-MM-dd HH:mm:ss,SSS + yyyy-MM-dd HH:mm:ssZ + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mmZ + yyyy-MM-dd HH:mm + yyyy-MM-dd + + + + + + + text/plain; charset=UTF-8 + + + + ${velocity.template.base.dir:} + ${velocity.solr.resource.loader.enabled:true} + ${velocity.params.resource.loader.enabled:false} + + + + 5 + + +