diff --git a/README.md b/README.md new file mode 100644 index 0000000..7b6446a --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# Satoru Quick Start + +Satoru is a web app that pulls backups from Linux hosts over SSH, stores them in a local restic repo, and can sync to Backblaze B2. + +## 1. Prerequisites + +Install these tools on the Satoru host: + +- `go` (1.25+) +- `restic` +- `rsync` +- `ssh` +- `b2` (optional, needed for B2 features) + +## 2. Run Satoru + +```bash +cd /Users/peterli/git/satoru +go run ./cmd/satoru +``` + +Open: + +- [http://localhost:8080](http://localhost:8080) + +On first boot, Satoru will: + +- create `data/satoru.conf` if missing +- auto-generate `RESTIC_PASSWORD` in that config if no explicit password is set + +## 3. Configure (optional but recommended) + +Edit: + +- `/Users/peterli/git/satoru/data/satoru.conf` + +Useful keys: + +```bash +RESTIC_PASSWORD=your-local-restic-password +RESTIC_PASSWORD2=your-b2-restic-password +B2_APPLICATION_ID=your-b2-key-id +B2_APPLICATION_KEY=your-b2-application-key +B2_EXECUTABLE_PATH=/opt/homebrew/bin/b2 +SATORU_RESTIC_B2_REPOSITORY=b2:your-bucket:satoru-repo +``` + +Then restart Satoru. + +## 4. First Login + +The first account you create is admin. + +- Sign up with username + password +- Sign in + +## 5. Add a Site + +In the dashboard: + +1. Add `SSH User`, `Server`, and `Port` +2. Add one or more directory/file paths +3. Add optional SQLite paths +4. Save + +You can also add MySQL dump operations per site (host/user/db/password). + +## 6. Run a Backup + +On a site card, click: + +- `Run backup` + +Watch progress in: + +- sidebar health +- active site logs +- per-target status + +## 7. Sync to B2 + +After local backups exist: + +- click `Sync to B2` on the site + +If B2 repo is not initialized yet, use: + +- `Initialize B2 Repo` button in runtime checks section + +## Notes + +- Site selection is remembered in the browser. +- Backups are tagged per site in one local restic repo. +- If a job gets stuck, use `Cancel` and re-run.