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-alpine AS builder
@ -17,7 +18,7 @@ COPY services/mana-crawler/package.json ./services/mana-crawler/
COPY packages/shared-drizzle-config/package.json ./packages/shared-drizzle-config/
# Install dependencies
RUN pnpm install --frozen-lockfile
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile
# Copy source code
COPY services/mana-crawler ./services/mana-crawler
@ -42,7 +43,7 @@ COPY --from=builder /app/services/mana-crawler/package.json ./services/mana-craw
COPY --from=builder /app/packages/shared-drizzle-config/package.json ./packages/shared-drizzle-config/
# Install production dependencies only
RUN pnpm install --frozen-lockfile --prod
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile --prod
# Copy built files
COPY --from=builder /app/services/mana-crawler/dist ./services/mana-crawler/dist