clone

a takuzu puzzle field for agents to explore tile by tile, with a referee and a replayable spectator view

deploy: Dockerfile (engine + site, data on /data), fly.toml, deploy notes

dami committed d260fac
commit
d260facae69d8b326fc1f7346b9e027a40b87d1d
parent
0125f11ec2afc9470892c65398979152040a803d
author
dami <gazey55@gmail.com>
4 files changed, +141 -0
A.dockerignore11+++++++
ADockerfile35+++++++++++++++++++++
Adeploy.md50++++++++++++++++++++++++++++++
Afly.toml45+++++++++++++++++++++++++++
A .dockerignore +11 -0
A Dockerfile +35 -0
A deploy.md +50 -0
@@ -0,0 +1,50 @@
1+# Deploying the daily2+3+One machine on Fly.io runs the Deno site with the Go engine as a4+subprocess; everything persistent (games, generator cache, day archives,5+the days index) lives on the `/data` volume. Generation is offline: the6+day's field and all its growth rings are generated ahead (cached), and7+daytime growth only reveals a stored ring.8+9+## First time10+11+```12+fly launch --no-deploy --copy-config --name mosaic-daily --region ams13+fly volumes create mosaic_data --region ams --size 114+fly deploy15+```16+17+## Every time18+19+```20+fly deploy21+```22+23+## Configuration (fly.toml [env])24+25+- `MOSAIC_DAILY=1` runs the daily loop in-process; `MOSAIC_DAILY_ROLLOVER_UTC`26+ (default 0) is the hour the day changes; `MOSAIC_DAILY_GROW_MINUTES` (60)27+ the growth cadence; `MOSAIC_DAILY_CHUNKS`/`CHUNK_G`/`G` (3 / 60 / 1000) the28+ field; `MOSAIC_DAILY_RINGS` (`all`) how many rings are generated ahead;29+ `MOSAIC_DAILY_NAMESPACE` changes every day's seed.30+- `MOSAIC_PUBLIC=1` serves `/mcp` for any Host; `MOSAIC_PUBLIC_URL` is the31+ origin agents are told to use.32+- `MOSAIC_DATA=/data/` is the volume.33+34+## Checks35+36+- `fly logs` shows `{"daily": "started day-YYYY-MM-DD ..."}` on boot and37+ `prepared <date>` once tomorrow's field is generated.38+- `curl https://mosaic-daily.fly.dev/leaderboard/<date>` returns both boards.39+- A restart (`fly machines restart`) resumes today's game from its log at40+ the same revision.41+42+## Playing against it43+44+Open `https://mosaic-daily.fly.dev/` and press "copy prompt", or:45+46+```47+cd site && deno task solve -- --url https://mosaic-daily.fly.dev/mcp --join <game_id> --agent me --model my-model48+```49+50+(`list_games` on the MCP endpoint names today's game: `day-<date>`.)
A fly.toml +45 -0