24 lines
No EOL
611 B
Docker
24 lines
No EOL
611 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install poetry
|
|
RUN pip install poetry
|
|
|
|
# Copy packages directory structure
|
|
COPY packages /app/packages
|
|
|
|
# Install dependencies (poetry walks up from api dir to find engine in ../engine)
|
|
WORKDIR /app/packages/api
|
|
RUN poetry install --no-interaction
|
|
|
|
# Get poetry venv path and set PATH
|
|
ENV VENV_PATH=/root/.cache/pypoetry/virtualenvs/remodel-api-cufy8KWC-py3.12/bin
|
|
ENV PATH=$VENV_PATH:$PATH
|
|
ENV PYTHONPATH=/app/packages/engine/src:/app/packages/api/src
|
|
|
|
WORKDIR /app/packages/api
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["uvicorn", "remodel_api.main:app", "--host", "0.0.0.0", "--port", "8000"] |