From 6d3d45ba2008bbc79f1ba0ff4ad45b033666880b Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Wed, 2 Sep 2026 14:54:08 +1000 Subject: [PATCH] sam-4screen-desktop 2026-9-2:14:54:8 --- .../220 Web Host Migration/Migration Work Log.md | 14 ++++++++++++++ .../220 Web Host Migration/Phase 2 — Email.md | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/200 projects/220 Web Host Migration/Migration Work Log.md b/200 projects/220 Web Host Migration/Migration Work Log.md index e8d325a..0a45d78 100644 --- a/200 projects/220 Web Host Migration/Migration Work Log.md +++ b/200 projects/220 Web Host Migration/Migration Work Log.md @@ -139,4 +139,18 @@ id: 1848129023-LOG --- +## 2026-09-02 — Backup gap closure: config + root-cause fix + +| Item | What | Status | +|---|---|---| +| .13 Borg coverage | `backup.nix` local-to-storage + `~/deployment`, voice/audio/dev dirs, `.agents`, `.pi`, `bin`, `.config`; excludes + `.cache`/`.npm`/`.local` | ✅ applied | +| prefect DB | Added to Borg exclude (was causing recurring `.failed` runs) | ✅ applied | +| Borg nightly | 05:00 runs succeeding (index written Sep 2 05:01); 23G first archive slow (lzma) | ✅ working | +| **S3 ordering bug** | **Found: script ran sequentially; photos consumed the entire 6h nightly window → `borg/.13` + home dirs never reached S3 (0 objects)** | 🔧 **fixed** | +| S3 ordering fix | Reordered `offsite.nix`: `.13` repo + `.27` repo + home configs sync **FIRST** (minutes), photos/archive last (fill remaining window) | ✅ config in; rebuild pending | +| Restore runbook | `Restore Runbook.md` written + linked from Backup Architecture | ✅ | +| Note | `borg list` fails for sam (repo data/ root-owned — known artifact; Borg job runs as root, works) | noted | + +--- + *Linked from [[Migration Plan — InMotion to Local + AWS Offsite]].* \ No newline at end of file diff --git a/200 projects/220 Web Host Migration/Phase 2 — Email.md b/200 projects/220 Web Host Migration/Phase 2 — Email.md index 1a424c5..7ec57f4 100644 --- a/200 projects/220 Web Host Migration/Phase 2 — Email.md +++ b/200 projects/220 Web Host Migration/Phase 2 — Email.md @@ -61,5 +61,17 @@ Both domains are authoritative on **InMotion nameservers** (`ns1/ns2.inmotionhos - Can send a test transactional email through SES successfully (not sandbox-blocked). - DNS passes SPF/DKIM/DMARC checks (use MXToolbox). +## OUTBOUND CHECKLIST — before websites send live mail (added 2026-09-01) +- [ ] **Request SES production access** (free; ~hours approval) — required for sites to email *any* user (sandbox only sends to verified addresses): SES → Account dashboard → Request production access. +- [ ] **Get SES SMTP credentials** (SES → SMTP Settings → create SMTP user; region ap-southeast-2; port 587 STARTTLS or 465 TLS). +- [ ] **Wire website/app** to send FROM `hello@` via SES SMTP/API (sender + auth set in site config). +- [ ] Send a live test FROM `hello@where-woof.com` → external address; verify DKIM/spf=pass. +- [ ] (Later, optional) tighten DMARC from `p=none` to `p=quarantine` once legitimate traffic is established. + +## Personal sending options (as of 2026-09-01) +- **Gmail "Send mail as"** → add `hello@where-woof.com` as an alias, outgoing via SES SMTP → send as where-woof from Gmail compose. Free. +- **Thunderbird**: keep IMAP = Gmail (where mail lands), set **SMTP = SES** → send as where-woof.com. Free. +- **PurelyMail** (~$10/yr, real domain mailboxes + IMAP/SMTP/POP) → alternative when real org mailboxes are wanted; gives Thunderbird native IMAP on your domain + independent storage. Deferred decision — current Cloudflare→Gmail stays $0. + --- *See [[Migration Plan — InMotion to Local + AWS Offsite]] §6.* \ No newline at end of file