Add microservices, web UI, and replay tooling
Some checks failed
ci / tests (push) Has been cancelled

This commit is contained in:
dan
2025-12-25 03:28:40 +03:00
commit 46a07f548b
72 changed files with 9142 additions and 0 deletions

20
docker/ai.Dockerfile Normal file
View File

@@ -0,0 +1,20 @@
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY pyproject.toml README.md /app/
COPY catan /app/catan
COPY services /app/services
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir --index-url https://download.pytorch.org/whl/cpu torch \
&& pip install --no-cache-dir -e . \
&& pip install --no-cache-dir -r services/ai/requirements.txt
ENV PYTHONPATH=/app
EXPOSE 8002
CMD ["uvicorn", "services.ai.app:app", "--host", "0.0.0.0", "--port", "8002"]

View File

@@ -0,0 +1,19 @@
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY pyproject.toml README.md /app/
COPY catan /app/catan
COPY services /app/services
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -e . \
&& pip install --no-cache-dir -r services/analytics/requirements.txt
ENV PYTHONPATH=/app
EXPOSE 8003
CMD ["uvicorn", "services.analytics.app:app", "--host", "0.0.0.0", "--port", "8003"]

19
docker/api.Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY pyproject.toml README.md /app/
COPY catan /app/catan
COPY services /app/services
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -e . \
&& pip install --no-cache-dir -r services/api/requirements.txt
ENV PYTHONPATH=/app
EXPOSE 8000
CMD ["uvicorn", "services.api.app:app", "--host", "0.0.0.0", "--port", "8000"]

19
docker/game.Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY pyproject.toml README.md /app/
COPY catan /app/catan
COPY services /app/services
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -e . \
&& pip install --no-cache-dir -r services/game/requirements.txt
ENV PYTHONPATH=/app
EXPOSE 8001
CMD ["uvicorn", "services.game.app:app", "--host", "0.0.0.0", "--port", "8001"]

12
docker/web.Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM node:20-alpine AS build
WORKDIR /app
COPY web/package.json web/package-lock.json* /app/
RUN npm install
COPY web /app
RUN npm run build
FROM nginx:1.27-alpine
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]