fix(gui): удалять все legacy compose контейнеры wireguard-ui перед up

This commit is contained in:
Ruslan
2026-04-14 00:30:04 +03:00
parent 3ee7406969
commit 2cd09198e1
2 changed files with 22 additions and 0 deletions

View File

@@ -325,6 +325,22 @@ EOF_COMPOSE
# KeyError: 'ContainerConfig'. Предварительно удаляем старый контейнер по имени.
if [[ "$compose_mode" == "legacy" ]]; then
docker rm -f wireguard-ui >/dev/null 2>&1 || true
# Удаляем возможные старые контейнеры вида <project>_wireguard-ui
# и контейнеры сервиса wireguard-ui по compose-label.
local legacy_ids legacy_names
legacy_ids="$(docker ps -aq --filter 'label=com.docker.compose.service=wireguard-ui' || true)"
if [[ -n "$legacy_ids" ]]; then
docker rm -f $legacy_ids >/dev/null 2>&1 || true
fi
legacy_names="$(docker ps -a --format '{{.Names}}' | grep -E '(^|[_-])wireguard-ui($|[_-])' || true)"
if [[ -n "$legacy_names" ]]; then
while IFS= read -r cname; do
[[ -n "$cname" ]] || continue
docker rm -f "$cname" >/dev/null 2>&1 || true
done <<< "$legacy_names"
fi
fi
(cd /opt/wireguard-ui && "${compose_cmd[@]}" up -d --remove-orphans)