mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-03-03 16:00:29 +01:00
New logic
This commit is contained in:
76
nextcloud/rootfs/etc/cont-init.d/99-elasticsearch
Normal file
76
nextcloud/rootfs/etc/cont-init.d/99-elasticsearch
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
|
||||
LAUNCHER="sudo -u abc php /data/config/www/nextcloud/occ" || bashio::log.info "/data/config/www/nextcloud/occ not found"
|
||||
if ! bashio::fs.file_exists '/data/config/www/nextcloud/occ'; then
|
||||
LAUNCHER=$(find / -name "occ" -print -quit)
|
||||
fi || bashio::log.info "occ not found"
|
||||
|
||||
# Make sure there is an Nextcloud installation
|
||||
if [[ $($LAUNCHER -V) == *"not installed"* ]]; then
|
||||
bashio::log.warning "It seems there is no Nextcloud server installed. Please restart the addon after initialization of the user."
|
||||
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 bashio::config.true 'Full_Text_Search'; then
|
||||
if [ $LAUNCHER fulltextsearch:index ] &>/dev/null; then
|
||||
echo "Full Text Search is already working"
|
||||
break 2
|
||||
fi
|
||||
|
||||
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
|
||||
[ ! -z $($LAUNCHER app:getpath $app) ] && $LAUNCHER app:remove $app &>/dev/null
|
||||
done
|
||||
|
||||
# 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
|
||||
|
||||
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 with the format "ip:port" such as "192.168.178.1:9200"'
|
||||
HOST=$(bashio::network.ipv4_address)
|
||||
HOST="${HOST%/*}:9200"
|
||||
fi
|
||||
|
||||
# Final setup
|
||||
echo "... settings apps"
|
||||
#occ fulltextsearch:configure '{"search_platform":"ElasticSearchPlatform"}'
|
||||
$LAUNCHER fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://$HOST:9200\"}" &>/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:index &>/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
|
||||
Reference in New Issue
Block a user