cf6594220c
* dovecot: experimental added flatcurve backend + switch * dovecot: bump docker image
76 lines
2.4 KiB
Bash
Executable File
76 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [[ "${FLATCURVE_EXPERIMENTAL}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
|
|
echo "FLATCURVE_EXPERIMENTAL=y, skipping Solr but enabling Flatcurve as FTS for Dovecot!"
|
|
echo "Solr will be removed in the future!"
|
|
sleep 365d
|
|
exit 0
|
|
elif [[ "${SKIP_SOLR}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
|
|
echo "SKIP_SOLR=y, skipping Solr..."
|
|
echo "HINT: You could try the newer FTS Backend Flatcurve, which is currently in experimental state..."
|
|
echo "Simply set FLATCURVE_EXPERIMENTAL=y inside your mailcow.conf and restart the stack afterwards!"
|
|
echo "Solr will be removed in the future!"
|
|
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"
|
|
gosu solr start-local-solr
|
|
|
|
echo "Creating core \"dovecot-fts\""
|
|
gosu 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"
|
|
gosu solr stop-local-solr
|
|
|
|
exit 0
|
|
fi
|
|
|
|
echo "Starting up Solr..."
|
|
echo -e "\e[31mSolr is deprecated! You can try the new FTS System now by enabling FLATCURVE_EXPERIMENTAL=y inside mailcow.conf and restarting the stack\e[0m"
|
|
echo -e "\e[31mSolr will be removed completely soon!\e[0m"
|
|
|
|
sleep 15
|
|
|
|
exec gosu solr solr-foreground
|
|
|