From 059c67bf76e491f38de0a0b73dcdfdb3a2bf3936 Mon Sep 17 00:00:00 2001 From: "soroush.asadi" Date: Mon, 1 Jun 2026 08:29:14 +0330 Subject: [PATCH] Fix deploy: free port 3000 by removing any container publishing it The previous name-based stop only removed soroushasadi-site, but the container holding :3000 can have a different name (old Next.js build or an orphan from a previously-named compose project), so the bind kept failing. Now we remove every container publishing :3000 by filter, then also remove by our known name as a fallback. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/deploy.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 1531fd7..ab6af6b 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -40,10 +40,17 @@ jobs: - name: Build Container run: docker compose build - - name: Stop Existing Container + - name: Free Port 3000 run: | - docker stop soroushasadi-site 2>/dev/null || true - docker rm soroushasadi-site 2>/dev/null || true + # Remove any container publishing :3000 (old Next.js container, + # orphans from a previously-named compose project, etc.) + OLD=$(docker ps -a --filter publish=3000 -q) + if [ -n "$OLD" ]; then + echo "Removing containers on :3000 -> $OLD" + docker rm -f $OLD || true + fi + # Belt and suspenders: also remove by our known name. + docker rm -f soroushasadi-site 2>/dev/null || true - name: Deploy run: docker compose up -d --remove-orphans