호스트의 /home/chpark/momo-erp/firebase-sa.json 을 컨테이너 안
/deploy/firebase-sa.json (ro) 으로 마운트. .env.production 의 FIREBASE_SA_PATH
환경변수가 이 경로를 가리킴 → src/lib/firebase-push.ts 의 sendFcm() 가 정상 동작.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- .gitea/workflows/deploy.yml: SSH 대상 121.156.99.3, sshpass 갱신
+ .env.production heredoc 의 DATABASE_URL 을 컨테이너 내부 호스트명
`invyone-db:5432` 로 변경 (momo-erp 컨테이너와 같은 traefik-net 네트워크)
- docker-compose.prod.yml / README.md / CICD_SETUP.md: 서버 IP 일괄 갱신
- 부속 정리: stale 한 운영 문서 xlsx 들 제거 (실제 운영과 무관, working tree 정돈)
이제 main push 시 새 IDC 서버로 자동배포되며, DB 연결은 같은 호스트 내
컨테이너 네트워크로 직결 (외부 5432 우회 안 함).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- docker-compose.prod.yml: Traefik Host 라벨 (apex + www)
- .gitea/workflows/deploy.yml: NEXTAUTH_URL + 헬스체크 URL
- CICD_SETUP.md, docs/proposal.html, docs/MOMO_DISTRIBUTION_SPEC.md 도메인 표기 수정
DNS 입력 (가비아):
A @ 183.99.177.40
A www 183.99.177.40
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
호스트 바인드 마운트는 docker compose 가 root 소유로 자동 생성해
컨테이너 nextjs(uid 1001) 가 mkdir 불가. named volume(momo_data_storage)
은 Dockerfile 의 chown nextjs:nodejs 를 그대로 복제하여 권한 문제 사라짐.
deploy.sh 의 host-side mkdir/chmod 도 더 이상 불필요하므로 제거.
- /api/deploy/webhook: X-Deploy-Token 검증 후 백그라운드로 deploy.sh spawn
- scripts/deploy.sh: git pull + docker compose up --build + migrate
- docker-compose.prod.yml: docker.sock + 소스 디렉토리 마운트
- deploy.yml: webhook 호출 + 헬스체크 폴링 (시크릿 의존성 제거)
- 미들웨어 공개 경로에 /api/deploy/webhook 추가
서버 1회 셋업 (docker-compose.prod.yml 갱신본을 한 번 배포하기만 하면
이후 push 시 자동 재배포 영구 동작)
- 배포 대상 서버를 183.99.177.40로 확정 (DNS가 가리키는 서버, DB도 같은 곳)
- docker-compose.prod.yml: external network를 traefik-net으로 변경
(toktork_server_default는 211 서버용이라 DNS와 불일치)
- traefik.docker.network=traefik-net 라벨 추가
- .gitea/workflows/deploy.yml: main push 시 자동 배포
- CICD_SETUP.md: 시크릿 등록 및 Runner 설정 가이드