fix(gui): удалять все legacy compose контейнеры wireguard-ui перед up
This commit is contained in:
@@ -281,6 +281,12 @@ sudo ss -tulpn | grep 5000
|
|||||||
|
|
||||||
Если при запуске встречается ошибка `KeyError: 'ContainerConfig'` (обычно на legacy `docker-compose` v1), перезапустите установщик из актуальной версии репозитория: в нем добавлена автоматическая очистка старого контейнера `wireguard-ui` перед запуском.
|
Если при запуске встречается ошибка `KeyError: 'ContainerConfig'` (обычно на legacy `docker-compose` v1), перезапустите установщик из актуальной версии репозитория: в нем добавлена автоматическая очистка старого контейнера `wireguard-ui` перед запуском.
|
||||||
|
|
||||||
|
Для уже сломанного состояния можно вручную очистить старые контейнеры и запустить установщик снова:
|
||||||
|
```bash
|
||||||
|
docker ps -aq --filter 'label=com.docker.compose.service=wireguard-ui' | xargs -r docker rm -f
|
||||||
|
docker ps -a --format '{{.Names}}' | grep -E '(^|[_-])wireguard-ui($|[_-])' | xargs -r docker rm -f
|
||||||
|
```
|
||||||
|
|
||||||
## Важные пути
|
## Важные пути
|
||||||
|
|
||||||
- Серверный конфиг: `/etc/wireguard/wg0.conf`
|
- Серверный конфиг: `/etc/wireguard/wg0.conf`
|
||||||
|
|||||||
@@ -325,6 +325,22 @@ EOF_COMPOSE
|
|||||||
# KeyError: 'ContainerConfig'. Предварительно удаляем старый контейнер по имени.
|
# KeyError: 'ContainerConfig'. Предварительно удаляем старый контейнер по имени.
|
||||||
if [[ "$compose_mode" == "legacy" ]]; then
|
if [[ "$compose_mode" == "legacy" ]]; then
|
||||||
docker rm -f wireguard-ui >/dev/null 2>&1 || true
|
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
|
fi
|
||||||
|
|
||||||
(cd /opt/wireguard-ui && "${compose_cmd[@]}" up -d --remove-orphans)
|
(cd /opt/wireguard-ui && "${compose_cmd[@]}" up -d --remove-orphans)
|
||||||
|
|||||||
Reference in New Issue
Block a user