fix(gui): обработка KeyError ContainerConfig для legacy docker-compose
This commit is contained in:
@@ -310,15 +310,24 @@ EOF_COMPOSE
|
||||
systemd_enable_now docker.service
|
||||
|
||||
local compose_cmd=()
|
||||
local compose_mode=""
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
compose_cmd=(docker compose)
|
||||
compose_mode="plugin"
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
compose_cmd=(docker-compose)
|
||||
compose_mode="legacy"
|
||||
else
|
||||
die "Не найден docker compose. Установите docker-compose-plugin или docker-compose."
|
||||
fi
|
||||
|
||||
(cd /opt/wireguard-ui && "${compose_cmd[@]}" up -d)
|
||||
# На некоторых системах с legacy docker-compose (v1) при recreate может возникать
|
||||
# KeyError: 'ContainerConfig'. Предварительно удаляем старый контейнер по имени.
|
||||
if [[ "$compose_mode" == "legacy" ]]; then
|
||||
docker rm -f wireguard-ui >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
(cd /opt/wireguard-ui && "${compose_cmd[@]}" up -d --remove-orphans)
|
||||
log_success "GUI wireguard-ui запущен"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user