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
@ -26,7 +27,7 @@ COPY packages/shared-tsconfig ./packages/shared-tsconfig
COPY apps/skilltree/apps/backend ./apps/skilltree/apps/backend
# Install dependencies (ignore scripts since generate-env.mjs isn't in Docker context)
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)
WORKDIR /app/packages/shared-errors

View file

@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
# Build stage
FROM node:20-alpine AS builder
@ -36,7 +37,7 @@ COPY packages/shared-api-client ./packages/shared-api-client
COPY apps/skilltree/apps/web ./apps/skilltree/apps/web
# Install dependencies
RUN pnpm install --frozen-lockfile
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile
# Build shared packages that need building
WORKDIR /app/packages/shared-vite-config