{"id":"catbeez-publish-games-no-restart-needed","text":"The catbeez-arcade server discovers new game files dynamically — publishing games is purely a file upload to `/home/catbeez/games/` with no application restart required.","truth_value":"IN","source":"entries/2026/05/11/deployments-catbeez-publish-games.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"# From catbeez-arcade/publish-games.py — upload game files without restart\nhost = ftl[cfg[\"hostname\"]]\nawait host.file(path=\"/home/catbeez/games\", state=\"directory\",\n                owner=\"catbeez\", group=\"catbeez\")\nfor game in games:\n    for ext in (\"html\", \"js\", \"wasm\"):\n        src = GAMES_SRC / f\"{game}.{ext}\"\n        if src.exists():\n            await host.copy(\n                src=str(src),\n                dest=f\"/home/catbeez/games/{game}.{ext}\",\n                owner=\"catbeez\", group=\"catbeez\",\n            )"},"explanation":{"steps":[{"node":"catbeez-publish-games-no-restart-needed","truth_value":"IN","reason":"premise"}]}}