62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 | 
						|
 | 
						|
# 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
 | 
						|
 | 
						|
if [[ "${1}" == "--bootstrap" ]]; then
 | 
						|
  echo "Creating initial configuration"
 | 
						|
  echo "Modifying default config set"
 | 
						|
  cp /solr-config-7.7.0.xml /opt/solr/server/solr/configsets/_default/conf/solrconfig.xml
 | 
						|
  cp /solr-schema-7.7.0.xml /opt/solr/server/solr/configsets/_default/conf/schema.xml
 | 
						|
  rm /opt/solr/server/solr/configsets/_default/conf/managed-schema
 | 
						|
 | 
						|
  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\""
 | 
						|
 | 
						|
  echo "Stopping local Solr"
 | 
						|
  su-exec solr stop-local-solr
 | 
						|
 | 
						|
  exit 0
 | 
						|
fi
 | 
						|
 | 
						|
exec su-exec solr solr-foreground
 | 
						|
 |