웹 UI 추가 및 Dockerfile 추가

This commit is contained in:
2026-01-05 10:00:41 +09:00
parent a1ecf4c634
commit 40a75959db
8 changed files with 591 additions and 28 deletions

View File

@@ -1,36 +1,20 @@
# ===============================
# Stage 1: kubectl
# ===============================
FROM bitnami/kubectl AS kubectl
# ===============================
# Stage 2: runtime
# ===============================
FROM python:3.11-slim
# kubectl 복사
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/kubectl
RUN apt-get update && \
apt-get install -y curl && \
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl && \
install -m 0755 kubectl /usr/local/bin/kubectl && \
rm -rf /var/lib/apt/lists/*
# 필수 패키지
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# python 패키지
RUN pip install --no-cache-dir ruamel.yaml
# 작업 디렉토리
WORKDIR /app
# 스크립트 복사
COPY migrate.py /app/migrate.py
COPY migrator.py mapping.yaml app.py requirements.txt ./
COPY templates ./templates
# 기본 mapping.yaml
COPY mapping.yaml /app/mapping.yaml
RUN pip install --no-cache-dir -r requirements.txt gunicorn
# 실행 권한
RUN chmod +x /app/migrate.py
RUN mkdir /work
# 기본 엔트리포인트
ENTRYPOINT ["python", "/app/migrate.py"]
EXPOSE 8080
CMD ["gunicorn", "-b", "0.0.0.0:8080", "--timeout", "300", "app:app"]