forked from tojiuni/sabangnet_API
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
52 lines (43 loc) · 1.34 KB
/
Copy pathDockerfile
File metadata and controls
52 lines (43 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV OPENSSL_CONF=/app/config/openssl.cnf
WORKDIR /app
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc libpq-dev tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
echo "Asia/Seoul" > /etc/timezone && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --upgrade pip && pip install -r requirements.txt
# 코드 품질 도구 설치 (이미 requirements.txt에 있다면 생략)
# RUN pip install flake8 black isort mypy pytest
# 린트, 타입, 테스트 체크 (실패 시 빌드 중단)
# RUN flake8 . && black --check . && isort --check-only . && mypy . && pytest --maxfail=1 --disable-warnings
COPY . .
# 임시 .env 파일 생성
RUN echo "SABANG_COMPANY_ID=\n\
SABANG_AUTH_KEY=\n\
SABANG_ADMIN_URL=\n\
MINIO_ROOT_USER=\n\
MINIO_ROOT_PASSWORD=\n\
MINIO_ACCESS_KEY=\n\
MINIO_SECRET_KEY=\n\
MINIO_ENDPOINT=\n\
MINIO_BUCKET_NAME=\n\
MINIO_USE_SSL=\n\
MINIO_PORT=\n\
DB_HOST=\n\
DB_PORT=\n\
DB_NAME=\n\
DB_USER=\n\
DB_PASSWORD=\n\
DB_SSLMODE=\n\
DB_TEST_COLUMN=\n\
DB_TEST_TABLE=\n\
FASTAPI_HOST=api.lyckabc.xyz\n\
FASTAPI_PORT=8008\n\
N8N_WEBHOOK_BASE_URL=\n\
N8N_WEBHOOK_PATH=\n\
CONPANY_GOODS_CD_TEST_MODE=\n" > .env
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8008", "--env-file", ".env"]