b97e7b63a4
Deploy momo-erp via webhook / deploy (push) Failing after 0s
- /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 시 자동 재배포 영구 동작)
36 lines
1.3 KiB
YAML
36 lines
1.3 KiB
YAML
# 운영 배포 (Traefik + momo.junggomoa.com)
|
|
# 대상 서버: 183.99.177.40 (Traefik v2.11 외부 네트워크 traefik-net 사용)
|
|
# 사용: docker compose -f docker-compose.prod.yml up -d --build
|
|
services:
|
|
momo-erp:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: momo-erp:latest
|
|
container_name: momo-erp
|
|
restart: always
|
|
env_file:
|
|
- .env.production
|
|
volumes:
|
|
- ./data_storage:/data_storage
|
|
# 자가 배포: webhook 이 호스트의 deploy.sh 를 실행하기 위함
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./scripts/deploy.sh:/deploy/deploy.sh:ro
|
|
# source 디렉토리를 컨테이너 안에서 git pull 하기 위해 호스트의 소스를 마운트
|
|
# (호스트 ~/momo-erp/source 를 /deploy/source 로)
|
|
- $PWD:/deploy/source
|
|
networks:
|
|
- traefik-net
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-net
|
|
- traefik.http.routers.momo-erp.rule=Host(`momo.junggomoa.com`)
|
|
- traefik.http.routers.momo-erp.entrypoints=websecure,web
|
|
- traefik.http.routers.momo-erp.tls=true
|
|
- traefik.http.routers.momo-erp.tls.certresolver=le
|
|
- traefik.http.services.momo-erp.loadbalancer.server.port=3000
|
|
|
|
networks:
|
|
traefik-net:
|
|
external: true
|