From 2b3c4acdae018d828ec5a94fabb844097b441143 Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 13 May 2026 15:59:56 +0900 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20momo-erp=20=EC=9E=AC=EA=B8=B0?= =?UTF-8?q?=EB=8F=99=20=ED=9B=84=20traefik=20=EB=9D=BC=EC=9A=B0=ED=84=B0?= =?UTF-8?q?=20=EC=BA=90=EC=8B=9C=20=EC=9E=90=EB=8F=99=20=EC=83=88=EB=A1=9C?= =?UTF-8?q?=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 증상: momo-erp container 가 force-recreate 될 때 traefik docker provider 가 새 컨테이너의 라벨을 재인식 못 해 momotogether.com 요청이 Gitea 라우터로 fallback 되는 사고 (사용자 화면에 Gitea 500 에러 페이지 노출). deploy.yml 의 docker compose up 직후 `docker restart traefik` 1회 추가. 1~2초 다른 도메인 잠시 down 되지만 라우터 정합성 보장됨. 병행: cron watchdog (/usr/local/bin/momo-traefik-watchdog.sh, 3분 간격)이 production HTML 의 "모모유통" 문자열 검증해 비정상 시 traefik 자동 재시작. deploy 외 임의 시점 사고에도 최대 3분 안에 자동 복구. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitea/workflows/deploy.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 1d57158..918f37d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -69,6 +69,12 @@ jobs: docker rm -f momo-erp 2>/dev/null || true docker compose -f docker-compose.prod.yml up -d --force-recreate momo-erp + # traefik 라우터 캐시 재로드 — momo-erp re-create 시 traefik docker provider 가 + # 가끔 새 컨테이너 라벨을 인식 못 하고 다른 라우터로 fallback (gitea 페이지 노출 사고) + # 강제로 traefik 컨테이너 1~2초 재시작해서 모든 라우터 정합 보장 + docker restart traefik 2>&1 | tail -2 || true + sleep 3 + # 옛 momo-erp 이미지(latest 태그가 새 빌드로 갱신되며 dangling 이 된 옛 sha)는 prune. # -f 만 사용 (dangling 만). 다른 프로젝트의 사용 중 이미지는 건드리지 않음. docker image prune -f 2>&1 | tail -3 || true