diff --git a/README.MD b/README.MD
index 8c90fd71c..0bd979d25 100644
--- a/README.MD
+++ b/README.MD
@@ -6,8 +6,6 @@ Git:
git clone https://gitlab.alfresco.com/search_discovery/solr.git
- cd solr
-
### Use Maven
1. Build
@@ -19,10 +17,9 @@ mvn clean install
To build the docker image, first run the maven build then
```
cd packaging
-./build.sh
+./buildAndTest.sh
```
-
### License
Copyright (C) 2016 Alfresco Software Limited
diff --git a/packaging/Dockerfile b/packaging/Dockerfile
index 18d09bef8..7a7b0723b 100644
--- a/packaging/Dockerfile
+++ b/packaging/Dockerfile
@@ -5,6 +5,9 @@ MAINTAINER Gethin James, gethin.james@alfresco.com
ENV SOLR_ZIP target/alfresco-solr-distribution-*.zip
ENV DIST_DIR /opt/alfresco-solr
+ENV SOLR_SOLR_CONTENT_DIR $DIST_DIR/data/content
+ENV SOLR_SOLR_MODEL_DIR $DIST_DIR/data/alfrescoModels
+ENV SOLR_INCLUDE $DIST_DIR/solr.in.sh
RUN groupadd -r solr && useradd -r -g solr -s /bin/bash solr
@@ -14,9 +17,17 @@ RUN apt-get update && apt-get install -y \
--no-install-recommends && rm -r /var/lib/apt/lists/*
COPY $SOLR_ZIP $DIST_DIR/
+COPY target/test-classes/solr.in.sh $DIST_DIR/
WORKDIR $DIST_DIR
-RUN unzip *.zip -d $DIST_DIR/ && rm *.zip && chown -R solr:solr $DIST_DIR/*
+RUN unzip *.zip -d $DIST_DIR/ && rm *.zip && \
+ mkdir -p $SOLR_SOLR_CONTENT_DIR && \
+ mkdir -p $DIST_DIR/data/index && \
+ mv $DIST_DIR/solrhome/alfrescoModels $DIST_DIR/data/ && \
+ mv $DIST_DIR/solrhome $DIST_DIR/data/ && \
+ chown -R solr:solr $DIST_DIR
+
+VOLUME /opt/alfresco-solr/data
EXPOSE 8983
USER solr
CMD [ "/opt/alfresco-solr/solr/bin/solr", "start", "-f" ]
diff --git a/packaging/buildAndTest.sh b/packaging/buildAndTest.sh
index 83bc697ff..d814cf10f 100755
--- a/packaging/buildAndTest.sh
+++ b/packaging/buildAndTest.sh
@@ -26,8 +26,10 @@ if ! docker inspect "$dockerImage" &> /dev/null; then
fi
# running tests
-docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data ] || (echo "Data dir does not exist" && exit 1)
-docker run --rm "$dockerImage" [ -e /opt/alfresco-solr/solrhome/conf/shared.properties ] || (echo "shared.properties does not exist" && exit 1)
+docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/solr ] || (echo "solr dir does not exist" && exit 1)
+docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data/content ] || (echo "content dir does not exist" && exit 1)
+docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data/alfrescoModels ] || (echo "alfrescoModels dir does not exist" && exit 1)
+docker run --rm "$dockerImage" [ -e /opt/alfresco-solr/data/solrhome/conf/shared.properties ] || (echo "shared.properties does not exist" && exit 1)
docker run --rm "$dockerImage" /opt/alfresco-solr/solr/bin/solr start
echo "Publishing $dockerImage..."
diff --git a/packaging/docker-compose.yml b/packaging/docker-compose.yml
index 84d8c2938..58f8a4a7a 100644
--- a/packaging/docker-compose.yml
+++ b/packaging/docker-compose.yml
@@ -13,12 +13,12 @@ services:
image: dockerreg.alfresco.com/alfresco-solr:master-latest
command: [ "/opt/alfresco-solr/solr/bin/solr", "start", "-f", "-a", "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"]
environment:
- #Alfresco needs to know how to call solr
- SOLR_PROXY_HOST: solr6
- SOLR_PROXY_PORT: 8983
#Solr needs to know how to call Alfresco
SOLR_ALFRESCO_HOST: repo
SOLR_ALFRESCO_PORT: 8080
+ #Alfresco (admin console) needs to know how to call solr
+ SOLR_PROXY_HOST: solr6
+ SOLR_PROXY_PORT: 8983
ports:
- "8083:8983"
- "1044:1044"
diff --git a/packaging/src/assembly/solr-distribution.xml b/packaging/src/assembly/solr-distribution.xml
index ec2b24bad..a43dd958d 100644
--- a/packaging/src/assembly/solr-distribution.xml
+++ b/packaging/src/assembly/solr-distribution.xml
@@ -35,13 +35,5 @@
context.xml
-
-
- src/assembly
- data
-
- *
-
-
diff --git a/packaging/src/test/resources/solr.in.sh b/packaging/src/test/resources/solr.in.sh
new file mode 100755
index 000000000..054755750
--- /dev/null
+++ b/packaging/src/test/resources/solr.in.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+# Path to a directory for Solr to store cores and their data. By default, Solr will use server/solr
+# This directory needs to contain solr.xml
+SOLR_HOME=$DIST_DIR/data/solrhome
\ No newline at end of file