diff --git a/other/nightly/install.sh b/other/nightly/install.sh index 766b1fc63..1889ad355 100755 --- a/other/nightly/install.sh +++ b/other/nightly/install.sh @@ -8,7 +8,7 @@ set -o pipefail # Cause a pipeline to return the status of the last command that CDN="https://cdn.coollabs.io/coolify" DATE=$(date +"%Y%m%d-%H%M%S") -VERSION="1.6" +VERSION="1.7" DOCKER_VERSION="27.0" # TODO: Ask for a user CURRENT_USER=$USER @@ -488,13 +488,13 @@ fi # Add default root user credentials from environment variables if [ -n "$ROOT_USERNAME" ] && [ -n "$ROOT_USER_EMAIL" ] && [ -n "$ROOT_USER_PASSWORD" ]; then - if ! grep -q "^ROOT_USERNAME=" "$ENV_FILE-$DATE"; then + if grep -q "^ROOT_USERNAME=" "$ENV_FILE-$DATE"; then sed -i "s|^ROOT_USERNAME=.*|ROOT_USERNAME=$ROOT_USERNAME|" "$ENV_FILE-$DATE" fi - if ! grep -q "^ROOT_USER_EMAIL=" "$ENV_FILE-$DATE"; then + if grep -q "^ROOT_USER_EMAIL=" "$ENV_FILE-$DATE"; then sed -i "s|^ROOT_USER_EMAIL=.*|ROOT_USER_EMAIL=$ROOT_USER_EMAIL|" "$ENV_FILE-$DATE" fi - if ! grep -q "^ROOT_USER_PASSWORD=" "$ENV_FILE-$DATE"; then + if grep -q "^ROOT_USER_PASSWORD=" "$ENV_FILE-$DATE"; then sed -i "s|^ROOT_USER_PASSWORD=.*|ROOT_USER_PASSWORD=$ROOT_USER_PASSWORD|" "$ENV_FILE-$DATE" fi fi diff --git a/scripts/install.sh b/scripts/install.sh index b5e163907..1889ad355 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -8,7 +8,7 @@ set -o pipefail # Cause a pipeline to return the status of the last command that CDN="https://cdn.coollabs.io/coolify" DATE=$(date +"%Y%m%d-%H%M%S") -VERSION="1.6" +VERSION="1.7" DOCKER_VERSION="27.0" # TODO: Ask for a user CURRENT_USER=$USER @@ -22,6 +22,11 @@ echo -e "Welcome to Coolify Installer!" echo -e "This script will install everything for you. Sit back and relax." echo -e "Source code: https://github.com/coollabsio/coolify/blob/main/scripts/install.sh\n" +# Predefined root user +ROOT_USERNAME=${ROOT_USERNAME:-} +ROOT_USER_EMAIL=${ROOT_USER_EMAIL:-} +ROOT_USER_PASSWORD=${ROOT_USER_PASSWORD:-} + TOTAL_SPACE=$(df -BG / | awk 'NR==2 {print $2}' | sed 's/G//') AVAILABLE_SPACE=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//') REQUIRED_TOTAL_SPACE=30 @@ -481,6 +486,19 @@ else sed -i "s|^PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|" "$ENV_FILE-$DATE" fi +# Add default root user credentials from environment variables +if [ -n "$ROOT_USERNAME" ] && [ -n "$ROOT_USER_EMAIL" ] && [ -n "$ROOT_USER_PASSWORD" ]; then + if grep -q "^ROOT_USERNAME=" "$ENV_FILE-$DATE"; then + sed -i "s|^ROOT_USERNAME=.*|ROOT_USERNAME=$ROOT_USERNAME|" "$ENV_FILE-$DATE" + fi + if grep -q "^ROOT_USER_EMAIL=" "$ENV_FILE-$DATE"; then + sed -i "s|^ROOT_USER_EMAIL=.*|ROOT_USER_EMAIL=$ROOT_USER_EMAIL|" "$ENV_FILE-$DATE" + fi + if grep -q "^ROOT_USER_PASSWORD=" "$ENV_FILE-$DATE"; then + sed -i "s|^ROOT_USER_PASSWORD=.*|ROOT_USER_PASSWORD=$ROOT_USER_PASSWORD|" "$ENV_FILE-$DATE" + fi +fi + # Merge .env and .env.production. New values will be added to .env echo -e "7. Propagating .env with new values - if necessary." awk -F '=' '!seen[$1]++' "$ENV_FILE-$DATE" /data/coolify/source/.env.production > $ENV_FILE