From 70a233fbf5b6228b94a0d148a4755d0d21afb243 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Tue, 8 Jun 2021 00:01:38 +0200 Subject: [PATCH] chore: rewrite freshrss setup tasks in entrypoint script --- overlay/usr/local/bin/entrypoint | 51 ++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/overlay/usr/local/bin/entrypoint b/overlay/usr/local/bin/entrypoint index 26a2492..734523d 100755 --- a/overlay/usr/local/bin/entrypoint +++ b/overlay/usr/local/bin/entrypoint @@ -9,30 +9,43 @@ if [ -n "${FRESHRSS_POSTGRES_SSL_ROOTCERT}" ] && [ ! -f "/var/www/.postgresql/ro fi printf "\nPrepare FreshRSS...\n" -PREP=$(/usr/bin/php -f ./cli/prepare.php) -if [ $? -ne 0 ]; then - echo "$PREP" - exit 1 +/usr/bin/php -f ./cli/prepare.php >/dev/null 2>&1 + +/usr/bin/php -f ./cli/do-install.php -- --api_enabled \ + --base_url "${FRESHRSS_BASE_URL:-http://localhost/}" \ + --db-base "${FRESHRSS_DB_BASE}" \ + --db-host "${FRESHRSS_DB_HOST:-localhost}" \ + --db-password "${FRESHRSS_DB_PASSWORD}" \ + --db-type "${FRESHRSS_DB_TYPE:-sqlite}" \ + --db-user "${FRESHRSS_DB_USER}" \ + --default_user "${FRESHRSS_DEFAULT_USER:-_}" \ + --language "${FRESHRSS_LANGUAGE:-en}" >/dev/null 2>&1 +EXITCODE=$? + +if [ $EXITCODE -eq 3 ]; then + printf 'FreshRSS already installed, no change performed\n' +elif [ $EXITCODE -eq 0 ]; then + printf 'FreshRSS successfully installed\n' +else + printf 'FreshRSS error during installation\n' + exit $EXITCODE fi if [ "${FRESHRSS_DEFAULT_USER}" ]; then 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 "$UCREATE" - rm -rf "/var/www/app/data/users/$FRESHRSS_DEFAULT_USER" - exit 1 - ;; - esac - fi - printf "Result: success\n\n" -fi + /usr/bin/php ./cli/create-user.php --user "$FRESHRSS_DEFAULT_USER" --password "$FRESHRSS_DEFAULT_PASSWORD" --language "${FRESHRSS_LANGUAGE:-en}" >/dev/null 2>&1 + EXITCODE=$? -if [ -f "/var/www/app/data/do-install.txt" ]; then - rm -rf /var/www/app/data/do-install.txt + if [ $EXITCODE -eq 3 ]; then + printf 'FreshRSS user already exists, no change performed\n' + elif [ $EXITCODE -eq 0 ]; then + printf 'FreshRSS user successfully created\n' + ./cli/list-users.php | xargs -n1 ./cli/actualize-user.php --user "$FRESHRSS_DEFAULT_USER" + else + rm -f /tmp/out.txt /tmp/err.txt + printf 'FreshRSS error during the creation of a user\n' + exit $EXITCODE + fi fi supercronic /etc/crontabs/nginx &