From b998f82b8dad07137fa68101d77646d1ab703f9f Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 14 Apr 2021 16:30:26 -0500 Subject: [PATCH] Bug fix: 'dspacesolr' container must have a copy of the Solr configs from 'dspace' container as they aren't in the dspace-angular codebase --- docker/docker-compose-ci.yml | 24 +++++++++++++----------- docker/docker-compose-rest.yml | 20 +++++++++++--------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/docker/docker-compose-ci.yml b/docker/docker-compose-ci.yml index 5397e15a8b..760b558322 100644 --- a/docker/docker-compose-ci.yml +++ b/docker/docker-compose-ci.yml @@ -30,6 +30,8 @@ services: volumes: - assetstore:/dspace/assetstore - "./local.cfg:/dspace/config/local.cfg" + # Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below) + - solr_configs:/dspace/solr # Ensure that the database is ready BEFORE starting tomcat # 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep # 2. Then, run database migration to init database tables @@ -72,25 +74,25 @@ services: tty: true working_dir: /var/solr/data volumes: - # Mount our local Solr core configs so that they are available as Solr configsets on container - - ./dspace/solr/authority:/opt/solr/server/solr/configsets/authority - - ./dspace/solr/oai:/opt/solr/server/solr/configsets/oai - - ./dspace/solr/search:/opt/solr/server/solr/configsets/search - - ./dspace/solr/statistics:/opt/solr/server/solr/configsets/statistics + # Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder) + # This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume + - solr_configs:/opt/solr/server/solr/configsets/dspace # Keep Solr data directory between reboots - solr_data:/var/solr/data - # Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr + # Initialize all DSpace Solr cores using the mounted configsets (see above), then start Solr entrypoint: - /bin/bash - '-c' - | init-var-solr - precreate-core authority /opt/solr/server/solr/configsets/authority - precreate-core oai /opt/solr/server/solr/configsets/oai - precreate-core search /opt/solr/server/solr/configsets/search - precreate-core statistics /opt/solr/server/solr/configsets/statistics + precreate-core authority /opt/solr/server/solr/configsets/dspace/authority + precreate-core oai /opt/solr/server/solr/configsets/dspace/oai + precreate-core search /opt/solr/server/solr/configsets/dspace/search + precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics exec solr -f volumes: assetstore: pgdata: - solr_data: \ No newline at end of file + solr_data: + # Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above) + solr_configs: \ No newline at end of file diff --git a/docker/docker-compose-rest.yml b/docker/docker-compose-rest.yml index 9797bd26e9..7188768e14 100644 --- a/docker/docker-compose-rest.yml +++ b/docker/docker-compose-rest.yml @@ -30,6 +30,8 @@ services: volumes: - assetstore:/dspace/assetstore - "./local.cfg:/dspace/config/local.cfg" + # Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below) + - solr_configs:/dspace/solr # Ensure that the database is ready BEFORE starting tomcat # 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep # 2. Then, run database migration to init database tables @@ -70,11 +72,9 @@ services: tty: true working_dir: /var/solr/data volumes: - # Mount our local Solr core configs so that they are available as Solr configsets on container - - ./dspace/solr/authority:/opt/solr/server/solr/configsets/authority - - ./dspace/solr/oai:/opt/solr/server/solr/configsets/oai - - ./dspace/solr/search:/opt/solr/server/solr/configsets/search - - ./dspace/solr/statistics:/opt/solr/server/solr/configsets/statistics + # Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder) + # This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume + - solr_configs:/opt/solr/server/solr/configsets/dspace # Keep Solr data directory between reboots - solr_data:/var/solr/data # Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr @@ -83,12 +83,14 @@ services: - '-c' - | init-var-solr - precreate-core authority /opt/solr/server/solr/configsets/authority - precreate-core oai /opt/solr/server/solr/configsets/oai - precreate-core search /opt/solr/server/solr/configsets/search - precreate-core statistics /opt/solr/server/solr/configsets/statistics + precreate-core authority /opt/solr/server/solr/configsets/dspace/authority + precreate-core oai /opt/solr/server/solr/configsets/dspace/oai + precreate-core search /opt/solr/server/solr/configsets/dspace/search + precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics exec solr -f volumes: assetstore: pgdata: solr_data: + # Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above) + solr_configs: