| FROM python:3.12-slim |
|
|
| ENV PYTHONDONTWRITEBYTECODE=1 \ |
| PYTHONUNBUFFERED=1 \ |
| PIP_NO_CACHE_DIR=1 \ |
| POETRY_VERSION=2.4.1 \ |
| POETRY_NO_INTERACTION=1 \ |
| POETRY_VIRTUALENVS_IN_PROJECT=true |
|
|
| RUN useradd -m -u 1000 user |
| |
| USER user |
| |
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:/home/user/app/.venv/bin:$PATH |
|
|
| WORKDIR $HOME/app |
|
|
| RUN pip install --upgrade pip && \ |
| pip install "poetry==$POETRY_VERSION" |
|
|
| COPY --chown=user pyproject.toml poetry.lock ./ |
| RUN poetry install --only main --no-root |
|
|
| COPY --chown=user app ./app |
|
|
| EXPOSE 7860 |
|
|
| CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"] |
|
|