diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c7b2f2..3a7a803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2 +1,5 @@ +* ENHANCEMENT + * better error handling in entrypoint script + * BUGFIX - * move healthcheck to wrapper script + * symling `/etc/ssl/certs/ca-certificates.crt` to freshrss root as workaround for [#2549](https://github.com/FreshRSS/FreshRSS/issues/2549) diff --git a/overlay/usr/local/bin/entrypoint.sh b/overlay/usr/local/bin/entrypoint.sh index 49bfdd6..074f756 100755 --- a/overlay/usr/local/bin/entrypoint.sh +++ b/overlay/usr/local/bin/entrypoint.sh @@ -1,13 +1,42 @@ #!/bin/sh + /usr/local/bin/gomplate -V -o /etc/php7/php.ini -f /etc/templates/php.ini.tmpl /usr/local/bin/gomplate -V -o /var/www/app/data/config.php -f /etc/templates/config.php.tmpl /usr/local/bin/gomplate -V -o /var/www/app/constants.local.php -f /etc/templates/constants.local.php.tmpl -/usr/bin/php -f ./cli/prepare.php +printf "\nPrepare FreshRSS...\n" +PREP=$(/usr/bin/phpp -f ./cli/prepare.php) +if [ $? -ne 0 ]; then + echo $PREP + exit 1 +fi if [ "${FRESHRSS_DEFAULT_USER}" ]; then - /usr/bin/php ./cli/create-user.php --user "$FRESHRSS_DEFAULT_USER" --password "$FRESHRSS_DEFAULT_PASSWORD" - /usr/bin/php ./cli/do-install.php --default_user "$FRESHRSS_DEFAULT_USER" + printf "\nEnsure default user exists...\n" + UCREATE=$(/usr/bin/php ./cli/create-user.php --user "$FRESHRSS_DEFAULT_USER" --password "$FRESHRSS_DEFAULT_PASSWORD" 2>&1) + if [ $? -ne 0 ]; then + case "$UCREATE" in + *"username already taken"*) echo "Result: success" ;; + *) + echo $UCREATE + exit 1 + ;; + esac + fi + + printf "\nEnsure FreshRSS is installed...\n" + INSTALL=$(/usr/bin/php ./cli/do-install.php --default_user "$FRESHRSS_DEFAULT_USER" 2>&1) + if [ $? -ne 0 ]; then + case "$INSTALL" in + *"already installed"*) + /usr/bin/php ./cli/reconfigure.php --default_user "$FRESHRSS_DEFAULT_USER" + ;; + *) + echo $INSTALL + exit 1 + ;; + esac + fi fi exec supercronic -split-logs /etc/crontabs/nginx 1> /dev/null &