12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/bin/bash
- if [[ "${SKIP_SOLR}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- echo "SKIP_SOLR=y, skipping Solr..."
- sleep 365d
- exit 0
- fi
- MEM_TOTAL=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
- if [[ "${1}" != "--bootstrap" ]]; then
- if [ ${MEM_TOTAL} -lt "2097152" ]; then
- echo "System memory less than 2 GB, skipping Solr..."
- sleep 365d
- exit 0
- fi
- fi
- set -e
- # allow easier debugging with `docker run -e VERBOSE=yes`
- if [[ "$VERBOSE" = "yes" ]]; then
- set -x
- fi
- # run the optional initdb
- . /opt/docker-solr/scripts/run-initdb
- # fixing volume permission
- [[ -d /opt/solr/server/solr/dovecot-fts/data ]] && chown -R solr:solr /opt/solr/server/solr/dovecot-fts/data
- if [[ "${1}" != "--bootstrap" ]]; then
- sed -i '/SOLR_HEAP=/c\SOLR_HEAP="'${SOLR_HEAP:-1024}'m"' /opt/solr/bin/solr.in.sh
- else
- sed -i '/SOLR_HEAP=/c\SOLR_HEAP="256m"' /opt/solr/bin/solr.in.sh
- fi
- # keep a sentinel file so we don't try to create the core a second time
- # for example when we restart a container.
- # todo: check if a core exists without sentinel file
- SENTINEL=/opt/docker-solr/fts_core_created
- if [[ -f ${SENTINEL} ]]; then
- echo "skipping core creation"
- else
- echo "Starting local Solr instance to setup configuration"
- su-exec solr start-local-solr
- echo "Creating core \"dovecot-fts\""
- su-exec solr /opt/solr/bin/solr create -c "dovecot-fts"
- # See https://github.com/docker-solr/docker-solr/issues/27
- echo "Checking core"
- while ! wget -O - 'http://localhost:8983/solr/admin/cores?action=STATUS' | grep -q instanceDir; do
- echo "Could not find any cores, waiting..."
- sleep 3
- done
- echo "Created core \"dovecot-fts\""
- touch ${SENTINEL}
- echo "Stopping local Solr"
- su-exec solr stop-local-solr
- fi
- rm -f /opt/solr/server/solr/dovecot-fts/conf/schema.xml
- rm -f /opt/solr/server/solr/dovecot-fts/conf/managed-schema
- rm -f /opt/solr/server/solr/dovecot-fts/conf/solrconfig.xml
- cp /etc/solr/solr-config-7.7.0.xml /opt/solr/server/solr/dovecot-fts/conf/solrconfig.xml
- cp /etc/solr/solr-schema-7.7.0.xml /opt/solr/server/solr/dovecot-fts/conf/schema.xml
- chown -R solr:solr /opt/solr/server/solr/dovecot-fts/conf/{schema.xml,solrconfig.xml}
- exec su-exec solr solr-foreground
|