milestone 4: org header, logging, backup docs, mark all m4 tasks done

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 14:46:37 -04:00
parent 0799595b26
commit fd28a45cd7
3 changed files with 77 additions and 6 deletions

View File

@@ -157,6 +157,27 @@ synq/
5. add history screen and resend handling.
6. polish launch speed and widget/share-target only after core path works.
## backup
### what to back up
the server writes to one directory (the `/data` volume). back up the whole thing:
```text
/data/synq.org ← the canonical org capture file
/data/capture.sqlite3 ← idempotency store (dedup ids)
/data/token.txt ← auto-generated token (if not using PHONE_CAPTURE_TOKEN env var)
```
on unraid the host path is whatever you mapped in compose, e.g. `/mnt/user/ben/synq/phone-capture`.
### restore behavior
- restore the `/data` volume to a new container and start it. the server will pick up where it left off.
- `synq.org` is append-only plain text — it is human-readable and recoverable even without the sqlite db.
- if `capture.sqlite3` is lost but `synq.org` is intact, the server will accept re-posted captures that were already in the org file (no dedup). the android app marks them synced either way (`already_seen` or `accepted`), so the only side effect is duplicate org entries for anything re-synced. restore the db from backup to avoid this.
- if `token.txt` is lost, delete it and let the server generate a new one on next start, then update the app settings.
## v2 parking lot
- android share target