# Menggunakan base image Python versi 3.11 FROM python:3.11 # Membuat user non-root untuk keamanan RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" # Install Poetry globally RUN curl -sSL https://install.python-poetry.org | python3 - --yes # Mengatur working directory di dalam container WORKDIR /app # Menyalin file dependensi Poetry COPY pyproject.toml poetry.lock* /app/ # Menginstall dependencies melalui Poetry RUN poetry install --no-root # Menyalin seluruh file aplikasi ke dalam container COPY . /app/ # Menggunakan poetry untuk menjalankan aplikasi dengan uvicorn dalam virtualenv CMD ["poetry", "run", "uvicorn", "api:app", "--host", "0.0.0.0", "--port", "7860"]