From 59466de81104400f710f455c6a2f710f97b9bdec Mon Sep 17 00:00:00 2001 From: lekss361 Date: Mon, 11 May 2026 23:26:31 +0300 Subject: [PATCH] fix(deploy): aggressive docker image prune (drop until=72h filter to avoid 50GB buildup) --- .github/workflows/deploy.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 744a3ce4..0ce81e9f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -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).