Session-gated MinIO save sync with AppImage GUI, CLI edit/session flow, and Gitea release helper. Co-authored-by: Cursor <[email protected]>
1.6 KiB
1.6 KiB
Path 1 fallback — Hardened Syncthing
Use this if Path 3 (MinIO over Cloudflare/NGINX) becomes unreliable or Android S3 access is blocked more often than Syncthing-Fork would be.
Triggers
- WAN MinIO downtime / CF limits / NGINX upload bugs that block play sessions
- Android app cannot obtain durable storage access for emulator saves and Syncthing folder sync of the SSOT tree is acceptable
- You still refuse to sync live game directories directly
What stays the same
Keep the Python session agent (start/end). It continues to copy:
native save paths ↔ local SSOT tree
Only the transport of the SSOT tree changes (Syncthing instead of MinIO).
Migration MinIO → Syncthing SSOT folder
-
On a trusted machine with MinIO access:
syncgames export-ssot --out ~/SyncGames-SSOT(Downloads all
games/*/live,history,meta.jsoninto a filesystem mirror.) -
Share
~/SyncGames-SSOTwith Syncthing across devices. -
Enable Simple File Versioning, Keep Versions ≥ 5, on every device.
-
Point
agent.toml:store = "filesystem" ssot_root = "/home/you/SyncGames-SSOT" -
Stop relying on MinIO for that install (or keep MinIO as cold backup via periodic
export-ssot).
Hardening rules (do not violate)
- Syncthing folder = SSOT tree only
- Never add Proton
compatdata/ Android emulator internal dirs as Syncthing folders - Lease/hash gates remain enforced by the agent against filesystem
meta.json
Rollback
Point store back to minio and keep using the same game ids if the bucket is still intact.