From 713b4d724165485bd8d6d374d7e347a3e81814c1 Mon Sep 17 00:00:00 2001 From: Johngreen Date: Sun, 8 Mar 2026 00:45:40 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Traefik=EC=97=90=20webhook=20=ED=94=84?= =?UTF-8?q?=EB=A1=9D=EC=8B=9C=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20cron=20?= =?UTF-8?q?=ED=8F=B4=EB=A7=81=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Traefik file provider로 호스트 webhook(9000) 프록시 - /deploy 경로로 Gitea webhook 수신 - extra_hosts로 Linux host.docker.internal 지원 - 불필요한 Docker webhook 서비스 제거 Co-Authored-By: Claude Opus 4.6 --- deploy/traefik/dynamic.yml | 13 +++++++++++++ deploy/traefik/traefik.yml | 3 +++ docker-compose.prod.yml | 3 +++ 3 files changed, 19 insertions(+) create mode 100644 deploy/traefik/dynamic.yml diff --git a/deploy/traefik/dynamic.yml b/deploy/traefik/dynamic.yml new file mode 100644 index 0000000..3a166df --- /dev/null +++ b/deploy/traefik/dynamic.yml @@ -0,0 +1,13 @@ +http: + routers: + webhook: + rule: "PathPrefix(`/deploy`)" + entryPoints: + - web + service: webhook + + services: + webhook: + loadBalancer: + servers: + - url: "http://host.docker.internal:9000" diff --git a/deploy/traefik/traefik.yml b/deploy/traefik/traefik.yml index 8aee852..855efd4 100644 --- a/deploy/traefik/traefik.yml +++ b/deploy/traefik/traefik.yml @@ -10,6 +10,9 @@ entryPoints: providers: docker: exposedByDefault: false + file: + filename: /etc/traefik/dynamic.yml + watch: true # 도메인 준비되면 주석 해제 # certificatesResolvers: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 8fd8f6f..5ca4040 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -36,9 +36,12 @@ services: ports: - "80:80" - "443:443" + extra_hosts: + - "host.docker.internal:host-gateway" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./deploy/traefik/traefik.yml:/etc/traefik/traefik.yml:ro + - ./deploy/traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro - traefik_letsencrypt:/letsencrypt depends_on: - web