2019-01-16 11:50:34 +02:00
#!/bin/bash
2024-06-26 11:28:18 +02:00
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
2019-01-16 11:50:34 +02:00
echo "SKIP_SOLR=y, skipping Solr..."
2024-06-26 11:28:18 +02:00
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!"
2019-01-16 11:50:34 +02:00
sleep 365d
exit 0
fi
2019-01-17 21:25:38 +02:00
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
2019-01-16 11:50:34 +02:00
set -e
# run the optional initdb
. /opt/docker-solr/scripts/run-initdb
# fixing volume permission
2019-03-10 10:36:33 +02:00
[ [ -d /opt/solr/server/solr/dovecot-fts/data ] ] && chown -R solr:solr /opt/solr/server/solr/dovecot-fts/data
2019-01-17 21:25:38 +02:00
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
2019-01-16 11:50:34 +02:00
2019-03-13 00:15:26 +02:00
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
2019-02-15 21:19:50 +02:00
2019-03-10 10:36:33 +02:00
echo "Starting local Solr instance to setup configuration"
2019-07-28 21:35:10 +02:00
gosu solr start-local-solr
2019-03-10 10:36:33 +02:00
echo "Creating core \"dovecot-fts\""
2019-07-28 21:35:10 +02:00
gosu solr /opt/solr/bin/solr create -c "dovecot-fts"
2019-01-16 11:50:34 +02:00
# 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..."
2019-03-10 10:36:33 +02:00
sleep 3
2019-01-16 11:50:34 +02:00
done
2019-03-10 10:36:33 +02:00
echo "Created core \"dovecot-fts\""
echo "Stopping local Solr"
2019-07-28 21:35:10 +02:00
gosu solr stop-local-solr
2019-01-16 11:50:34 +02:00
2019-03-13 00:15:26 +02:00
exit 0
fi
2019-03-10 10:36:33 +02:00
2024-06-26 11:28:18 +02:00
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
2019-07-28 21:35:10 +02:00
exec gosu solr solr-foreground
2019-03-13 00:15:26 +02:00