Coolify 배포용 포트 정렬 (8080 → 3000) — Bad Gateway 수정

Coolify 리버스 프록시는 컨테이너 3000 포트로 라우팅하는데(sample 프로젝트와
동일, MANUAL의 'Port: 3000'), 앱이 8080에서 떠서 프록시가 대상에 닿지 못해
502 Bad Gateway가 발생했다. sample을 참고해 3000으로 정렬한다.

- main.py: 포트를 PORT 환경변수(기본 3000)에서 읽도록 변경. host는 0.0.0.0 유지.
- Dockerfile: ENV PORT=3000 / EXPOSE 3000, 주석을 Kubero→Coolify 로 갱신.
- CLAUDE.md: 배포 규격을 Coolify(포트 3000, PORT 환경변수)로 갱신.
This commit is contained in:
2026-06-16 18:04:17 +09:00
parent 332ce2caa4
commit 5e6df0fa44
3 changed files with 19 additions and 14 deletions

View File

@@ -1,11 +1,12 @@
## 배포
## 배포 (Coolify)
1. 변경 사항을 커밋/푸시합니다.
2. Kubero(https://kubero.bokdev.in)에서 배포하면
`http://<내앱이름>.apps.bokdev.in` 으로 접속됩니다.
1. 변경 사항을 Gitea에 커밋/푸시합니다.
2. Coolify(https://coolify.bokdev.in)가 이 **Dockerfile**로 자동 빌드·배포합니다.
Coolify 앱 설정의 **Port 는 3000**, 도메인은 `https://<내앱이름>.apps.bokdev.in`.
## 꼭 지킬 규칙 (배포 규격)
- HTTP 서버는 **0.0.0.0 의 8080 포트**에서 떠야 합니다.
- HTTP 서버는 **0.0.0.0** 에서 떠야 하며, 포트는 **`PORT` 환경변수(기본 3000)** 를 따릅니다.
Coolify 리버스 프록시가 기본 **3000** 포트로 라우팅하므로, 포트를 바꾸면 502 Bad Gateway가 납니다.
- 새 패키지를 쓰면 `requirements.txt`에 꼭 추가하세요.
- 파일에 저장한 데이터는 재배포하면 사라집니다.

View File

@@ -1,6 +1,6 @@
# 로컬(podman)과 Kubero 자동빌드가 공유하는 단일 Dockerfile.
# - 로컬: podman build -t maze-runner . && podman run --rm -p 8080:8080 maze-runner
# - 배포: git push → Kubero가 이 Dockerfile로 빌드/배포 (http://<앱이름>.apps.bokdev.in)
# 로컬(podman)과 Coolify 자동빌드가 공유하는 단일 Dockerfile.
# - 로컬: podman build -t maze-runner . && podman run --rm -p 3000:3000 maze-runner
# - 배포: Gitea push → Coolify가 이 Dockerfile로 빌드/배포 (https://<앱이름>.apps.bokdev.in)
FROM python:3.12-slim
WORKDIR /app
@@ -12,10 +12,10 @@ RUN pip install --no-cache-dir -r requirements.txt
# 앱 소스
COPY . .
# 배포 규격: 0.0.0.0 / 3000 포트 (Coolify 리버스 프록시 기본 라우팅 포트 — sample 과 동일)
ENV PYTHONUNBUFFERED=1 \
PORT=8080
# 배포 규격: 0.0.0.0 의 8080 포트
EXPOSE 8080
PORT=3000
EXPOSE 3000
# 비루트 실행
RUN useradd --create-home --uid 10001 appuser

View File

@@ -1,5 +1,8 @@
# 200x100 랜덤 미로 생성 + 다익스트라 탐색 시각화 앱
# 규칙: 반드시 0.0.0.0:8080 에서 HTTP 서비스해야 합니다 (배포 규격).
# 배포 규격: 0.0.0.0 에서 HTTP 서비스. 포트는 PORT 환경변수(기본 3000)를 따른다.
# (Coolify 리버스 프록시가 기본 3000 포트로 라우팅 — sample 프로젝트와 동일)
import os
from flask import Flask
app = Flask(__name__)
@@ -308,4 +311,5 @@ def home():
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)
port = int(os.environ.get("PORT", "3000"))
app.run(host="0.0.0.0", port=port)