landify-chatbot-v2 / Dockerfile
anh-khoa-nguyen
first commit
f972c00
# Sử dụng một ảnh base Python 3.13 chính thức, phiên bản slim
FROM python:3.13-slim
# Thiết lập các biến môi trường để tối ưu hóa Python
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Thiết lập thư mục làm việc bên trong container
WORKDIR /app
# Sao chép file requirements.txt vào trước
COPY ./requirements.txt /app/requirements.txt
# Cài đặt các thư viện
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN pip install --no-cache-dir -r /app/requirements.txt
# Sao chép toàn bộ code của ứng dụng vào container
COPY . /app/
# --- THÊM BƯỚC NÀY ---
# Chạy script để chuyển đổi file Excel thành CSDL SQLite
# Bước này sẽ tạo ra thư mục data/processed/phongthuy.sqlite bên trong container
RUN python scripts/preprocess_data.py
# Expose cổng mà uvicorn sẽ chạy
EXPOSE 7860
# Lệnh để khởi động ứng dụng FastAPI
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]