FROM python:3.13-slim-bookworm AS build WORKDIR /santa RUN mkdir -p /santa/WebServer/static COPY setup-server.sh /santa/setup-server.sh RUN apt-get update && apt-get install -y curl RUN /santa/setup-server.sh --download-only COPY requirements.txt /santa/requirements.txt COPY src/setup.py /santa/src/setup.py COPY src/SantaExchange/ /santa/src/SantaExchange/ COPY WebServer/__init__.py WebServer/server.py /santa/WebServer/ COPY WebServer/templates/ /santa/WebServer/templates/ COPY WebServer/static/exchange_client.py WebServer/static/exchange_worker.js WebServer/static/style.css /santa/WebServer/static/ RUN pip install -r /santa/requirements.txt RUN /santa/setup-server.sh FROM python:3.13-slim-bookworm RUN pip install flask flask-socketio gunicorn eventlet COPY --from=build /santa/WebServer /WebServer WORKDIR /WebServer EXPOSE 8000 CMD ["gunicorn", "--worker-class", "eventlet", "-w", "4", "--bind", "0.0.0.0:8000", "server:app"]