From af6267f3b51ee167bc9bf1f5308adb49569dad29 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 27 Apr 2026 07:30:54 -0400 Subject: [PATCH] fix: restore default domains and reset proxy ports on vhost enable Re-enabling vhost (via `proxy:enable`, `domains:enable`, or `domains:add` with no global VHOST) was leaving the app pinned to the random high port and the empty VHOST file from the previous disabled state, so the new catch-all vhost intercepted requests for the app's domain. The `domains-enable` trigger now restores default vhosts via `domains_enable`, and `pre-enable-vhost` clears any stored proxy ports so they can be recomputed to 80/443. Also fixes the netrc lookup in the `git:auth` test to read dokku's netrc file directly. --- plugins/domains/domains-enable | 4 ++-- plugins/nginx-vhosts/pre-enable-vhost | 6 +++--- tests/unit/git_3.bats | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/domains/domains-enable b/plugins/domains/domains-enable index 5e3127ba9..1070b8c06 100755 --- a/plugins/domains/domains-enable +++ b/plugins/domains/domains-enable @@ -9,9 +9,9 @@ trigger-domains-domains-enable() { declare APP="$1" RESTART_APP="$2" if [[ "$RESTART_APP" == "true" ]]; then - enable_app_vhost "$APP" + domains_enable "$APP" else - enable_app_vhost "$APP" --no-restart + domains_enable "$APP" --no-restart fi } diff --git a/plugins/nginx-vhosts/pre-enable-vhost b/plugins/nginx-vhosts/pre-enable-vhost index 224887462..a64365d66 100755 --- a/plugins/nginx-vhosts/pre-enable-vhost +++ b/plugins/nginx-vhosts/pre-enable-vhost @@ -13,14 +13,14 @@ trigger-nginx-vhosts-pre-enable-vhost() { return fi - # only clear ports if they are port 80 or 443 + # clear stored proxy ports so they can be recomputed for the enabled state local PROXY_PORT=$(plugn trigger ports-get-property "$APP" "proxy-port") local PROXY_SSL_PORT=$(plugn trigger ports-get-property "$APP" "proxy-ssl-port") - if [[ "$PROXY_PORT" == "80" ]]; then + if [[ -n "$PROXY_PORT" ]]; then fn-plugin-property-delete "proxy" "$APP" "proxy-port" fi - if [[ "$PROXY_SSL_PORT" == "443" ]]; then + if [[ -n "$PROXY_SSL_PORT" ]]; then fn-plugin-property-delete "proxy" "$APP" "proxy-ssl-port" fi diff --git a/tests/unit/git_3.bats b/tests/unit/git_3.bats index aa4cce84c..21a7e06bb 100644 --- a/tests/unit/git_3.bats +++ b/tests/unit/git_3.bats @@ -100,7 +100,7 @@ teardown() { assert_success assert_output_contains "Setting netrc auth entry for host github.com" - run /bin/bash -c "netrc get github.com" + run /bin/bash -c "netrc get --netrc-file ${DOKKU_ROOT}/.netrc github.com" echo "output: $output" echo "status: $status" assert_success