fix: clear proxy configs on boot

Unfortunately, Docker does not persist container IPs on boot, so containers may come up with the wrong IP, resulting in proxying to the incorrect app after a server restart. Instead, we should delete the configs and let ps:restore rebuild the proxy config correctly.

Closes #3932
This commit is contained in:
Jose Diaz-Gonzalez
2020-09-10 01:58:13 -04:00
parent ecc6c9e01d
commit 752a0cacd9
2 changed files with 7 additions and 0 deletions

View File

@@ -162,4 +162,5 @@ nginx_clear_config() {
declare desc="Remove the nginx conf file"
declare APP="$1"
rm -f "$DOKKU_ROOT/$APP/nginx.conf"
fn-nginx-vhosts-nginx-init-cmd "reload"
}

View File

@@ -17,6 +17,8 @@ cmd-ps-restore() {
plugn trigger pre-restore "$DOKKU_SCHEDULER" "$APP"
if [[ -n "$APP" ]]; then
plugn trigger proxy-clear-config "$APP"
if ! (is_deployed "$APP"); then
dokku_log_warn "App $APP has not been deployed"
return
@@ -27,6 +29,10 @@ cmd-ps-restore() {
ps_restore "$APP" || dokku_log_warn "dokku ps:restore ${APP} failed"
fi
else
for APP in $(dokku_apps); do
plugn trigger proxy-clear-config "$APP"
done
fn-ps-parallel-cmd "restore"
fi
}