summaryrefslogtreecommitdiff
path: root/docker-run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker-run.sh')
-rwxr-xr-xdocker-run.sh50
1 files changed, 34 insertions, 16 deletions
diff --git a/docker-run.sh b/docker-run.sh
index 29ffa7b..696aa35 100755
--- a/docker-run.sh
+++ b/docker-run.sh
@@ -4,6 +4,14 @@ set -eu
WAIT_DB_HOST=${TRAVELYNX_DB_HOST}
WAIT_DB_PORT=5432
+check_config() {
+ if [ ! -f travelynx.conf ]
+ then
+ echo "The configuration file is missing"
+ exit 1
+ fi
+}
+
wait_for_db() {
set +e
for i in $(seq 1 ${WAIT_DB_TIMEOUT:-5})
@@ -11,30 +19,40 @@ wait_for_db() {
(echo >/dev/tcp/${WAIT_DB_HOST}/${WAIT_DB_PORT}) &>/dev/null
if [ $? -eq 0 ]; then
break
+ else
+ echo "Can't reach DB @ ${WAIT_DB_HOST}:${WAIT_DB_PORT}"
fi
sleep 1
done
set -e
}
-if [ ! -f travelynx.conf ]
-then
- echo "The configuration file is missing"
- exit 1
-fi
+run_app() {
+ if [ \
+ "${TRAVELYNX_MAIL_DISABLE:-0}" -eq 0 \
+ -a "${TRAVELYNX_MAIL_HOST:-unset}" != "unset" \
+ ]
+ then
+ export EMAIL_SENDER_TRANSPORT=SMTP
+ export EMAIL_SENDER_TRANSPORT_HOST=${TRAVELYNX_MAIL_HOST}
+ export EMAIL_SENDER_TRANSPORT_PORT=${TRAVELYNX_MAIL_PORT:-25}
+ fi
-if [ \
- "${TRAVELYNX_MAIL_DISABLE:-0}" -eq 0 \
- -a "${TRAVELYNX_MAIL_HOST:-unset}" != "unset" \
-]
-then
- export EMAIL_SENDER_TRANSPORT=SMTP
- export EMAIL_SENDER_TRANSPORT_HOST=${TRAVELYNX_MAIL_HOST}
- export EMAIL_SENDER_TRANSPORT_PORT=${TRAVELYNX_MAIL_PORT:-25}
-fi
+ perl index.pl database migrate
+ exec /usr/local/bin/hypnotoad -f index.pl
+}
+
+run_cron() {
+ exec perl index.pl worker
+}
+
+check_config
wait_for_db
-perl index.pl database migrate
+if [ "${CRON:-0}" -ne "0" ]
+then
+ run_cron
+fi
-exec /usr/local/bin/hypnotoad -f index.pl
+run_app \ No newline at end of file