# Use an official Python runtime as a parent image FROM python:3.9-slim # Set the working directory in the container to /app WORKDIR /app # Add metadata to the image to describe that the container is listening on port 8000 EXPOSE 8000 # Update package lists and install build tools RUN apt-get update && apt-get install -y build-essential curl # Install Poetry RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - # Copy only the pyproject.toml and poetry.lock files to the container COPY pyproject.toml poetry.lock /app/ # Install project dependencies RUN $HOME/.poetry/bin/poetry install --no-root # Copy the current directory contents into the container at /app COPY . /app # Run server.py when the container launches CMD ["python", "server.py"]