|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +if [[ "x${FESS_DICTIONARY_PATH}" != "x" ]] ; then |
| 4 | + sed -i -e "s|^FESS_DICTIONARY_PATH=.*|FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH}|" /etc/default/fess |
| 5 | +fi |
| 6 | + |
| 7 | +if [[ "x${ES_HTTP_URL}" = "x" ]] ; then |
| 8 | + ES_HTTP_URL=http://localhost:9200 |
| 9 | +else |
| 10 | + sed -i -e "s|^ES_HTTP_URL=.*|ES_HTTP_URL=${ES_HTTP_URL}|" /etc/default/fess |
| 11 | +fi |
| 12 | + |
| 13 | +if [[ "x${ES_TYPE}" != "x" ]] ; then |
| 14 | + FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.type=${ES_TYPE}" |
| 15 | +fi |
| 16 | + |
| 17 | +if [[ "x${ES_USERNAME}" != "x" ]] ; then |
| 18 | + FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.username=${ES_USERNAME}" |
| 19 | +fi |
| 20 | + |
| 21 | +if [[ "x${ES_PASSWORD}" != "x" ]] ; then |
| 22 | + FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.password=${ES_PASSWORD}" |
| 23 | +fi |
| 24 | + |
| 25 | +if [[ "x${FESS_JAVA_OPTS}" != "x" ]] ; then |
| 26 | + echo "FESS_JAVA_OPTS=\"${FESS_JAVA_OPTS}\"" >> /etc/default/fess |
| 27 | +fi |
| 28 | + |
| 29 | +if [[ "x${PING_RETRIES}" = "x" ]] ; then |
| 30 | + PING_RETRIES=3 |
| 31 | +fi |
| 32 | + |
| 33 | +if [[ "x${PING_INTERVAL}" = "x" ]] ; then |
| 34 | + PING_INTERVAL=60 |
| 35 | +fi |
| 36 | + |
| 37 | +start_fess() { |
| 38 | + ln -s /opt/java/openjdk/bin/java /usr/bin/java |
| 39 | + touch /var/log/fess/fess-crawler.log \ |
| 40 | + /var/log/fess/fess-suggest.log \ |
| 41 | + /var/log/fess/fess-thumbnail.log \ |
| 42 | + /var/log/fess/fess-urls.log \ |
| 43 | + /var/log/fess/audit.log \ |
| 44 | + /var/log/fess/fess.log |
| 45 | + chown fess:fess /var/log/fess/fess-crawler.log \ |
| 46 | + /var/log/fess/fess-suggest.log \ |
| 47 | + /var/log/fess/fess-thumbnail.log \ |
| 48 | + /var/log/fess/fess-urls.log \ |
| 49 | + /var/log/fess/audit.log \ |
| 50 | + /var/log/fess/fess.log |
| 51 | + tail -f /var/log/fess/*.log & |
| 52 | + /etc/init.d/fess start |
| 53 | +} |
| 54 | + |
| 55 | +wait_app() { |
| 56 | + if [[ "x${FESS_CONTEXT_PATH}" = "x" ]] ; then |
| 57 | + ping_path=/json/ping |
| 58 | + else |
| 59 | + ping_path=${FESS_CONTEXT_PATH}/json/ping |
| 60 | + fi |
| 61 | + while true ; do |
| 62 | + status=$(curl -w '%{http_code}\n' -s -o /dev/null "http://localhost:8080${ping_path}") |
| 63 | + if [[ x"${status}" = x200 ]] ; then |
| 64 | + error_count=0 |
| 65 | + else |
| 66 | + error_count=$((error_count + 1)) |
| 67 | + fi |
| 68 | + if [[ ${error_count} -ge ${PING_RETRIES} ]] ; then |
| 69 | + echo "Fess is not available." |
| 70 | + exit 1 |
| 71 | + fi |
| 72 | + sleep ${PING_INTERVAL} |
| 73 | + done |
| 74 | +} |
| 75 | + |
| 76 | +start_fess |
| 77 | + |
| 78 | +if [[ "x${RUN_SHELL}" = "xtrue" ]] ; then |
| 79 | + /bin/bash |
| 80 | +else |
| 81 | + wait_app |
| 82 | +fi |
0 commit comments