From 35c6f16b4e536f347b32d02f32f566fe1d593aca Mon Sep 17 00:00:00 2001 From: kitadmin Date: Thu, 30 Apr 2026 21:31:40 +0000 Subject: [PATCH] Update CLAUDE.md for KITVM3 migration and Docker game strategy Reflects completed migration from DigitalOcean to local Hyper-V server. Adds game deployment strategy (engine-first, Docker for complex games) and server connection info. Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 49c2d93..34d3449 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,7 +21,7 @@ sudo -u postgres psql -d game_arcade | AI (generation) | Claude Sonnet (`claude-sonnet-4-20250514`) — streaming | | AI (lightweight) | Claude Haiku (`claude-haiku-4-5-20251001`) — tweaks, refinement, summaries | | Push | Web Push (VAPID) via `web-push` | -| Infra | DigitalOcean, Nginx, PM2, Cloudflare | +| Infra | KITVM3 (local Hyper-V), Nginx, PM2, Cloudflare Tunnel, Docker | ## Project Structure @@ -180,6 +180,25 @@ GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO gamearc; | Push not delivered | Check VAPID keys, subscriptions pruned on 410 | | Mobile keyboard hiding | Use `font-size: 16px` on inputs | +## Game Deployment Strategy + +New games should be built using the GamerComp engine (AI-generated HTML5 canvas games via the Create Wizard) whenever possible. For complex games that exceed what the engine can produce (e.g. Allegiance, MorseQuest), deploy them as Docker containers on the same KITVM3 server and proxy them through Nginx. + +```bash +# Docker game deployment pattern +docker build -t gamename ./games/gamename/ +docker run -d --name gamename -p 300X:80 --restart unless-stopped gamename +# Then add nginx location block to proxy /games/gamename/ to localhost:300X +``` + +## Server Info + +- **Host**: KITVM3 Hyper-V VM on R810 (16 CPUs, 8GB RAM) +- **SSH**: `ssh -i ~/.ssh/claude_gamercomp -p 2135 ubuntu@keylinkit.vpnplus.to` +- **App dir**: `/home/ubuntu/game-arcade/` +- **Routing**: Cloudflare Tunnel (gamercomp-local) → Nginx → PM2/Docker +- **DO server is decommissioned** — all traffic routes through the tunnel + ## Architecture Notes **Iframe Communication**: Games export `pauseGame()`, `resumeGame()`, `pauseMusic()`, `resumeMusic()`, `gameScore`, `setMusicEnabled()`, `setSfxEnabled()` on window.