fix(gui): обработка KeyError ContainerConfig для legacy docker-compose
This commit is contained in:
@@ -279,6 +279,8 @@ sudo docker logs wireguard-ui --tail=100
|
|||||||
sudo ss -tulpn | grep 5000
|
sudo ss -tulpn | grep 5000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Если при запуске встречается ошибка `KeyError: 'ContainerConfig'` (обычно на legacy `docker-compose` v1), перезапустите установщик из актуальной версии репозитория: в нем добавлена автоматическая очистка старого контейнера `wireguard-ui` перед запуском.
|
||||||
|
|
||||||
## Важные пути
|
## Важные пути
|
||||||
|
|
||||||
- Серверный конфиг: `/etc/wireguard/wg0.conf`
|
- Серверный конфиг: `/etc/wireguard/wg0.conf`
|
||||||
|
|||||||
@@ -310,15 +310,24 @@ EOF_COMPOSE
|
|||||||
systemd_enable_now docker.service
|
systemd_enable_now docker.service
|
||||||
|
|
||||||
local compose_cmd=()
|
local compose_cmd=()
|
||||||
|
local compose_mode=""
|
||||||
if docker compose version >/dev/null 2>&1; then
|
if docker compose version >/dev/null 2>&1; then
|
||||||
compose_cmd=(docker compose)
|
compose_cmd=(docker compose)
|
||||||
|
compose_mode="plugin"
|
||||||
elif command -v docker-compose >/dev/null 2>&1; then
|
elif command -v docker-compose >/dev/null 2>&1; then
|
||||||
compose_cmd=(docker-compose)
|
compose_cmd=(docker-compose)
|
||||||
|
compose_mode="legacy"
|
||||||
else
|
else
|
||||||
die "Не найден docker compose. Установите docker-compose-plugin или docker-compose."
|
die "Не найден docker compose. Установите docker-compose-plugin или docker-compose."
|
||||||
fi
|
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 запущен"
|
log_success "GUI wireguard-ui запущен"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user