# Use an official Python runtime as a parent image FROM python:alpine # 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 # Install any needed packages specified in pyproject.toml RUN apk update && \ apk add --no-cache gcc curl RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ /root/.cargo/env && \ rustup toolchain install stable && \ rustup default stable && \ rustup update # Set environment variables for Rust ENV PATH="/root/.cargo/bin:${PATH}" # Copy the current directory contents into the container at /app COPY . /app # Install Python dependencies RUN pip install -r requirements.txt --no-cache # Run server.py when the container launches CMD ["python", "server.py"]