24 lines
929 B
Docker
24 lines
929 B
Docker
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 bzip2
|
|
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/
|
|
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
|
|
COPY WebServer/__init__.py WebServer/server.py /WebServer/
|
|
COPY WebServer/templates/ /WebServer/templates/
|
|
COPY WebServer/static/exchange_client.py WebServer/static/exchange_worker.js WebServer/static/style.css /WebServer/static/
|
|
|
|
WORKDIR /WebServer
|
|
EXPOSE 8000
|
|
CMD ["gunicorn", "--worker-class", "eventlet", "-w", "1", "--bind", "0.0.0.0:8000", "server:app"]
|