diff --git a/README.md b/README.md index 6eb42c2..4d7242d 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,8 @@ sudo docker logs wireguard-ui --tail=100 sudo ss -tulpn | grep 5000 ``` +Если при запуске встречается ошибка `KeyError: 'ContainerConfig'` (обычно на legacy `docker-compose` v1), перезапустите установщик из актуальной версии репозитория: в нем добавлена автоматическая очистка старого контейнера `wireguard-ui` перед запуском. + ## Важные пути - Серверный конфиг: `/etc/wireguard/wg0.conf` diff --git a/server/install_server.sh b/server/install_server.sh index c5dae44..a247fc3 100755 --- a/server/install_server.sh +++ b/server/install_server.sh @@ -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 запущен" }