From b07e802f78e8265218d314e22f1c51850eebff70 Mon Sep 17 00:00:00 2001 From: "Z.p8ibwg4jri" Date: Tue, 7 Apr 2026 14:33:22 +0000 Subject: [PATCH] ++ fix --- .env.example | 2 +- docker/php/entrypoint.sh | 31 ++++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 4720984..bef8d7d 100644 --- a/.env.example +++ b/.env.example @@ -11,7 +11,7 @@ RUN_DB_SEED_ON_FIRST_START=true ENSURE_INITIAL_ADMIN_ON_EMPTY_DB=true INITIAL_ADMIN_NAME=Administrator INITIAL_ADMIN_EMAIL=info@termanager.it -INITIAL_ADMIN_PASSWORD=admin +INITIAL_ADMIN_PASSWORD=Password123! DB_CONNECTION=mysql DB_HOST=mariadb diff --git a/docker/php/entrypoint.sh b/docker/php/entrypoint.sh index b3c3084..328b833 100755 --- a/docker/php/entrypoint.sh +++ b/docker/php/entrypoint.sh @@ -37,6 +37,27 @@ upsert_env() { fi } +read_env_value() { + local key="$1" + local env_file="$2" + + if [ ! -f "$env_file" ]; then + return 0 + fi + + local line + line=$(grep -E "^${key}=" "$env_file" | tail -n 1 || true) + + if [ -z "$line" ]; then + return 0 + fi + + local value="${line#*=}" + value="${value%\"}" + value="${value#\"}" + printf '%s' "$value" +} + # ----------------------------------------------- # 0. Application code is bind-mounted from host # ----------------------------------------------- @@ -181,9 +202,17 @@ fi # ----------------------------------------------- ENSURE_INITIAL_ADMIN_ON_EMPTY_DB="${ENSURE_INITIAL_ADMIN_ON_EMPTY_DB:-true}" +INITIAL_ADMIN_NAME_VALUE="${INITIAL_ADMIN_NAME:-$(read_env_value INITIAL_ADMIN_NAME .env)}" +INITIAL_ADMIN_EMAIL_VALUE="${INITIAL_ADMIN_EMAIL:-$(read_env_value INITIAL_ADMIN_EMAIL .env)}" +INITIAL_ADMIN_PASSWORD_VALUE="${INITIAL_ADMIN_PASSWORD:-$(read_env_value INITIAL_ADMIN_PASSWORD .env)}" + if [ "$ENSURE_INITIAL_ADMIN_ON_EMPTY_DB" = "true" ]; then echo "[*] Ensuring initial administrator account..." - if ! php artisan app:create-initial-admin --from-env --no-interaction; then + if ! php artisan app:create-initial-admin \ + --name="$INITIAL_ADMIN_NAME_VALUE" \ + --email="$INITIAL_ADMIN_EMAIL_VALUE" \ + --password="$INITIAL_ADMIN_PASSWORD_VALUE" \ + --no-interaction; then warn "Initial admin creation failed. Set INITIAL_ADMIN_NAME, INITIAL_ADMIN_EMAIL and INITIAL_ADMIN_PASSWORD." exit 1 fi