da1c750297
- docker-compose.dev.yml: отдельный project awg-dash-dev, порт 8080 в контейнере
(наружу AWG_DASH_PORT, по умолчанию 8180 — 8080 занят на dev-хосте), bind mount
/opt/awg-dash-dev/{config,data} -> /config,/data, healthcheck /api/v1/health,
NET_ADMIN/NET_RAW/SYS_MODULE, /dev/net/tun, ip_forward, лимит логов;
- docker-compose.stub.yml + api_stub.py — DEV-ONLY заглушка health: AC-1 требует
FastAPI-каркаса (#31), до него проверяем плумбинг стенда без обмана отчёта
(в ответе ивно стоит "stub": true);
- docker-compose.test.yml: привилегированный netns-раннер (CAP_SYS_ADMIN нужен
для `ip netns add`) + сервис app для API-тестов.
Refs #21
Refs #15
deploy — сборка и развёртывание
| Артефакт | Назначение | Задача |
|---|---|---|
Dockerfile |
multi-stage: amneziawg-go + awg-tools → runtime alpine | #18 |
entrypoint.sh |
супервизор: awg-agent (root) + awg-api |
#18 |
docker-compose.dev.yml |
dev-стенд: порт 8080, тома /config /data, healthcheck |
#21 |
docker-compose.test.yml |
стенд для тестов | #21 |
grafana/ |
дашборд JSON (опциональный профиль monitoring) | #46 |
awg0.conf.example |
пример клиентского конфига | #22 |
Запуск по ТЗ (после релиза): --network=host, --device=/dev/net/tun, --cap-add=NET_ADMIN --cap-add=SYS_MODULE, --restart always.