diff --git a/plugins/ps/functions b/plugins/ps/functions index 2272506c5..8d097bb17 100755 --- a/plugins/ps/functions +++ b/plugins/ps/functions @@ -194,7 +194,17 @@ ps_scale() { local DOKKU_PROCFILE="$DOKKU_ROOT/$APP/DOKKU_PROCFILE" shift 1 - [[ ! -e $DOKKU_SCALE_FILE ]] && generate_scale_file "$APP" "$IMAGE_TAG" >/dev/null 2>&1 + # shellcheck disable=SC2015 + [[ ! -e $DOKKU_PROCFILE ]] && extract_procfile "$APP" "$IMAGE_TAG" >/dev/null 2>&1 || true + if [[ ! -e $DOKKU_SCALE_FILE ]] ; then + generate_scale_file "$APP" "$IMAGE_TAG" >/dev/null 2>&1 + elif [[ -e $DOKKU_PROCFILE ]] ; then + for PROC_NAME in $(procfile-util list --procfile "$DOKKU_PROCFILE"); do + if ! grep -qE "^${PROC_NAME}=" "$DOKKU_SCALE_FILE"; then + echo "$PROC_NAME=0" >> "$DOKKU_SCALE_FILE" + fi + done + fi if [[ -z "$@" ]]; then dokku_log_info1_quiet "Scaling for $APP" dokku_col_log_msg_quiet "proctype" "qty"