diff --git a/.gitignore b/.gitignore index 30a7481..82773e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.sw[pon] +*.pyc tests/selenium-screenshot-*.png tests/log.html tests/output.xml diff --git a/Dockerfile b/Dockerfile index 206b0e0..f603a7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -119,16 +119,17 @@ EXPOSE 8000:8000 FROM base as copied -USER root COPY dspace-src /srv/dspace-src -USER developer WORKDIR /srv/dspace-src/utilities/project_helpers/scripts RUN make install_libs deploy_guru && rm -rf /srv/dspace-src ~/.m2 FROM base as final -USER root COPY --from=copied /srv/dspace /srv/dspace +COPY --from=copied /opt/lindat-common /opt/lindat-common +USER root +run mkdir /srv/dspace/assetstore && mkdir /srv/dspace/log && chown -R developer:developer /srv USER developer WORKDIR /srv/dspace CMD ["/usr/local/tomcat/bin/catalina.sh", "jpda", "run"] +VOLUME ["/srv/dspace/assetstore", "/srv/dspace/log", "/srv/dspace/solr"] diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 9e87c6c..3ba7409 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -8,6 +8,8 @@ services: tty: true stdin_open: true platform: linux + volumes: + - pgdata:/var/lib/postgresql/data # DSpace dspace-dev: build: @@ -23,3 +25,12 @@ services: tty: true stdin_open: true platform: linux + volumes: + - assetstore:/srv/dspace/assetstore + - solr:/srv/dspace/solr + - log:/srv/dspace/log +volumes: + pgdata: + assetstore: + solr: + log: diff --git a/dspace_after_install_init/init.sh b/dspace_after_install_init/init.sh index 8826607..f70f0f4 100644 --- a/dspace_after_install_init/init.sh +++ b/dspace_after_install_init/init.sh @@ -1,5 +1,19 @@ #!/bin/bash +set -o verbose +set -o xtrace function init_repo { + for i in `seq 1 11`; do + if psql -t -U dspace -h postgres -c 'select 1;' >/dev/null; then + break + else + >&2 echo "Waiting for the database ${i}s" + sleep 1 + fi + done + if [ $i -eq 11 ]; then + >&2 echo "Couldn't connect to database under 10s." + exit 1 + fi adm_email=`psql -t -U dspace -h postgres -c 'select email from eperson where eperson_id = 1;'` if [ -z "$adm_email" ]; then ADMIN_EMAIL=dspace@lindat.cz