# Pull base image FROM python:3.10.12-alpine # Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Set work directory WORKDIR /app # Install system dependencies RUN apk update && apk add --no-cache gcc musl-dev python3-dev libffi-dev openssl-dev cargo netcat-openbsd # Install python dependencies # This is required to install pyyaml==6.0 with the alpine image, it's still in the requirements file # but will be skipped over since we've already installed it here COPY ./requirements/base.txt ./requirements/base.txt RUN pip install --upgrade pip RUN pip install "cython<3.0.0" RUN pip install --no-build-isolation pyyaml==6.0 RUN pip install -r requirements/base.txt # Copy project COPY . . # command to run on container start CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]