feat(games): add whopixels hosting at whopxl.mana.how

Dockerfile, docker-compose service (port 5100), Caddy and cloudflared
routing for the WhoPixels game. PORT is now configurable via env var.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-20 19:57:50 +01:00
parent 2eb280cc07
commit d9ccb5e31b
59 changed files with 348 additions and 77 deletions

View file

@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
# Build stage
FROM node:20-slim AS builder
@ -17,7 +18,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
COPY services/matrix-clock-bot ./services/matrix-clock-bot
# Install all dependencies
RUN pnpm install --frozen-lockfile --ignore-scripts
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile --ignore-scripts
# Build shared packages first (in dependency order)
RUN pnpm --filter @manacore/bot-services build
@ -49,7 +50,7 @@ COPY --from=builder /app/services/matrix-clock-bot/dist ./services/matrix-clock-
COPY --from=builder /app/services/matrix-clock-bot/package.json ./services/matrix-clock-bot/
# Install production dependencies only
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile --prod --ignore-scripts
# Create data directory
RUN mkdir -p /app/data