diff --git a/nextcloud/rootfs/etc/cont-init.d/99-elasticsearch.sh b/nextcloud/rootfs/etc/cont-init.d/99-elasticsearch.sh index 94935029b..190d09785 100755 --- a/nextcloud/rootfs/etc/cont-init.d/99-elasticsearch.sh +++ b/nextcloud/rootfs/etc/cont-init.d/99-elasticsearch.sh @@ -13,68 +13,55 @@ if [[ $($LAUNCHER -V) == *"not installed"* ]]; then exit 0 fi -############ -# BASED ON # -################################################################################# -# https://raw.githubusercontent.com/nextcloud/vm/master/apps/fulltextsearch.sh # -# T&M Hansson IT AB © - 2021, https://www.hanssonit.se/ # -# SwITNet Ltd © - 2021, https://switnet.net/ # -################################################################################# +if $LAUNCHER fulltextsearch:test &>/dev/null; then + echo "Full Text Search is already working" -if bashio::config.true 'Full_Text_Search'; then - # shellcheck disable=SC1073,SC1072,SC1009 - if $LAUNCHER fulltextsearch:test &>/dev/null; then - echo "Full Text Search is already working" - break 2 - fi + ############ + # BASED ON # + ################################################################################# + # https://raw.githubusercontent.com/nextcloud/vm/master/apps/fulltextsearch.sh # + # T&M Hansson IT AB © - 2021, https://www.hanssonit.se/ # + # SwITNet Ltd © - 2021, https://switnet.net/ # + ################################################################################# - echo "Installing Full Text Search" - # Reset Full Text Search to be able to index again, and also remove the app to be able to install it again - # occ fulltextsearch:reset &>/dev/null || true - # APPS=(fulltextsearch fulltextsearch_elasticsearch files_fulltextsearch) - # for app in "${APPS[@]}"; do - # # If app exists, remove it - # [ -n $($LAUNCHER app:getpath $app) ] && $LAUNCHER app:remove $app &>/dev/null - # done + if bashio::config.true 'Full_Text_Search'; then - # Get Full Text Search app for nextcloud - for app in "${APPS[@]}"; do - echo "... installing apps : $app" - $LAUNCHER app:install $app >/dev/null - $LAUNCHER app:enable $app >/dev/null - done - chown -R abc:abc $NEXTCLOUD_PATH/apps + # Get Full Text Search app for nextcloud + echo "Installing Full Text Search" + for app in "${APPS[@]}"; do + echo "... installing apps : $app" + $LAUNCHER app:install $app >/dev/null + $LAUNCHER app:enable $app >/dev/null + done + chown -R abc:abc $NEXTCLOUD_PATH/apps - if bashio::config.has_value 'elasticsearch_server'; then - HOST=$(bashio::config 'elasticsearch_server') + if bashio::config.has_value 'elasticsearch_server'; then + HOST=$(bashio::config 'elasticsearch_server') + else + bashio::log.warning 'Please define elasticsearch server url in addon options. Default value of http://db21ed7f-elasticsearch:9200 will be used' + HOST=http://db21ed7f-elasticsearch:9200 + fi + + # Final setup + echo "... settings apps" + $LAUNCHER fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"$HOST\"}" &>/dev/null + $LAUNCHER fulltextsearch_elasticsearch:configure "{\"elastic_index\":\"my_index\"}" &>/dev/null + $LAUNCHER fulltextsearch_elasticsearch:configure "{\"analyzer_tokenizer\":\"standard\"}" &>/dev/null + $LAUNCHER fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}' &>/dev/null || true + $LAUNCHER files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}" &>/dev/null || true + + # Is server detected + # Wait further for cache for index to work + echo "Waiting for a few seconds before indexing starts..." + sleep 5s + if $LAUNCHER fulltextsearch:test &>/dev/null; then + bashio::log.info "Full Text Search was successfully installed using elasticsearch server $HOST!" + + else + + bashio::log.warning "Elasticsearch can't connect. Please manually define its server in the options" + fi else - bashio::log.warning 'Please define elasticsearch server url in addon options with the format "ip:port" such as "192.168.178.1:9200". Default value of http://db21ed7f-elasticsearch:9200 will be used' - HOST=http://db21ed7f-elasticsearch:9200 - #HOST=$(bashio::network.ipv4_address) - #HOST="${HOST%/*}:9200" + echo "Full_Text_Search option not set" fi - - # Final setup - echo "... settings apps" - #occ fulltextsearch:configure '{"search_platform":"ElasticSearchPlatform"}' - $LAUNCHER fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"$HOST\"}" &>/dev/null - $LAUNCHER fulltextsearch_elasticsearch:configure "{\"elastic_index\":\"my_index\"}" &>/dev/null - $LAUNCHER fulltextsearch_elasticsearch:configure "{\"analyzer_tokenizer\":\"standard\"}" &>/dev/null - $LAUNCHER fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}' &>/dev/null || true - $LAUNCHER files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}" &>/dev/null || true - - # Is server detected - # if [ curl $HOST ] &>/dev/null; then - # Wait further for cache for index to work - echo "Waiting for a few seconds before indexing starts..." - sleep 10s - if $LAUNCHER fulltextsearch:test &>/dev/null; then - bashio::log.info "Full Text Search was successfully installed using elasticsearch server $HOST!" - - else - - bashio::log.warning "Elasticsearch can't connect. Please manually define its server in the options" - fi -else - echo "Full_Text_Search option not set" fi