Files
hinpdof/Dockerfile
Hadley Rich 9fed90d9fe
All checks were successful
Build and Publish Docker Image / build (push) Successful in 50s
Fix c&p dockerfile for running fastapi
2024-11-11 10:59:06 +13:00

50 lines
974 B
Docker

FROM python:3.13-slim AS base
FROM base AS builder
ARG DEBIAN_FRONTEND="noninteractive"
RUN pip install poetry==1.8.3
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONPATH=/app \
POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_IN_PROJECT=1 \
POETRY_VIRTUALENVS_CREATE=1 \
POETRY_CACHE_DIR=/tmp/poetry_cache
WORKDIR /app
COPY pyproject.toml poetry.lock ./
RUN poetry install --without dev --no-root --compile
FROM base
RUN apt update \
&& apt dist-upgrade -y \
&& apt install -y --no-install-recommends \
libpango-1.0-0 \
libpangoft2-1.0-0 \
libharfbuzz-subset0 \
&& rm -rf /var/lib/apt/lists/*
RUN adduser --system --uid 1000 --group app
USER app
WORKDIR /app
ENV VIRTUAL_ENV=/app/.venv \
PATH="/app/.venv/bin:$PATH"
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
COPY app.py ./
ARG PORT=8080
ENV PORT=$PORT
EXPOSE $PORT
CMD ["sh", "-c", "exec fastapi run app.py --proxy-headers --port ${PORT}"]