fix(deploy): aggressive docker image prune (drop until=72h filter to avoid 50GB buildup)

This commit is contained in:
lekss361 2026-05-11 23:26:31 +03:00
parent a1201aa94e
commit 59466de811

View file

@ -217,12 +217,9 @@ jobs:
docker compose -p gendesign -f docker-compose.prod.yml exec -T caddy \
caddy reload --config /etc/caddy/Caddyfile || true
# Clean up disk:
# 1. Для каждого gendesign-* образа оставляем 2 самых свежих
# SHA-тега (currently running + 1 fallback для rollback),
# остальные удаляем независимо от возраста. `:latest`
# никогда не трогаем. Docker images сортирует по Created
# DESC по умолчанию — берём всё после первых 2 строк.
# Clean up disk — aggressive чтобы избежать накопления.
# 1. Для каждого gendesign-* repo оставляем 2 самых свежих SHA-тега
# + :latest. Docker images сортирует по Created DESC.
for repo in ghcr.io/lekss361/gendesign-backend \
ghcr.io/lekss361/gendesign-worker \
ghcr.io/lekss361/gendesign-frontend; do
@ -231,8 +228,11 @@ jobs:
| tail -n +3 \
| xargs -r docker rmi 2>/dev/null || true
done
# 2. dangling/unused images (untagged layers) + build cache.
docker image prune -af --filter "until=72h" || true
# 2. ВСЕ unused images (даже свежие). Running контейнеры безопасны
# — их images не unused. Раньше был filter until=72h, но при
# частых деплоях оставались "fresh dangling" layers, накапливая
# до 50GB за неделю.
docker image prune -af || true
docker builder prune -af || true
# Wait for backend to be healthy (up to 30 s).