catbeez-publish-games-no-restart-needed

Status: IN

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.

Source: entries/2026/05/11/deployments-catbeez-publish-games.md

Example

# From catbeez-arcade/publish-games.py — upload game files without restart
host = ftl[cfg["hostname"]]
await host.file(path="/home/catbeez/games", state="directory",
                owner="catbeez", group="catbeez")
for game in games:
    for ext in ("html", "js", "wasm"):
        src = GAMES_SRC / f"{game}.{ext}"
        if src.exists():
            await host.copy(
                src=str(src),
                dest=f"/home/catbeez/games/{game}.{ext}",
                owner="catbeez", group="catbeez",
            )

JSON