Files
SyncGames/docs/fallback-path1.md
DawnsorrowandCursor 0d6b0b2f80 Initial SyncGames tree: agent, Android, deploy, docs.
Session-gated MinIO save sync with AppImage GUI, CLI edit/session flow, and Gitea release helper.

Co-authored-by: Cursor <[email protected]>
2026-07-14 22:06:36 -05:00

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

  1. On a trusted machine with MinIO access:

    syncgames export-ssot --out ~/SyncGames-SSOT
    

    (Downloads all games/*/live, history, meta.json into a filesystem mirror.)

  2. Share ~/SyncGames-SSOT with Syncthing across devices.

  3. Enable Simple File Versioning, Keep Versions ≥ 5, on every device.

  4. Point agent.toml:

    store = "filesystem"
    ssot_root = "/home/you/SyncGames-SSOT"
    
  5. 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.