From c3ea07d6e409108d5f44acf34bfc9c97155ee92c Mon Sep 17 00:00:00 2001 From: "soroush.asadi" Date: Mon, 1 Jun 2026 08:39:35 +0330 Subject: [PATCH] fix(ci): attach infra containers to meezi_default network before deploy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit postgres/redis were created before the compose project name was locked to "meezi", so they're on a different Docker network. New app containers join meezi_default — the API crashes immediately because it can't reach Host=postgres. Fix: create meezi_default if needed, then docker network connect meezi-db and meezi-redis to it before starting the app containers. Also dump API and admin-api logs on failure to make future failures easier to diagnose. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/ci-cd.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index b165ae0..f983041 100644 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -321,6 +321,17 @@ jobs: docker rm "$name" 2>/dev/null || true done + - name: Attach infrastructure to meezi network + # The postgres/redis containers may have been created before the compose + # project name was locked to "meezi", so they live on a different network. + # New app containers join meezi_default — connect infra to that network + # so the API can reach "postgres" and "redis" by service name. + run: | + docker network inspect meezi_default >/dev/null 2>&1 \ + || docker network create meezi_default + docker network connect meezi_default meezi-db 2>/dev/null || true + docker network connect meezi_default meezi-redis 2>/dev/null || true + - name: Deploy main app services run: | docker compose up -d --no-deps api web website koja @@ -358,4 +369,14 @@ jobs: if: always() run: docker compose -f docker-compose.yml -f docker-compose.admin.yml ps + - name: Dump API logs on failure + if: failure() + run: | + echo "=== meezi-api logs ===" + docker logs meezi-api --tail=60 2>&1 || true + echo "=== meezi-admin-api logs ===" + docker logs meezi-admin-api --tail=30 2>&1 || true + echo "=== meezi_default network ===" + docker network inspect meezi_default 2>&1 || true + # Intentionally no image pruning — disk cleanup is done manually on the server.