diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 2741612..24bcb43 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -210,8 +210,9 @@ "templater-obsidian:Templater": false } }, - "active": "b72ee21ead6651e9", + "active": "b0724d9a8e78110f", "lastOpenFiles": [ + "200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md", "300 areas/360 Dev-Ops Network Computers/Backup System — Borg, Kopia & Restic.md", "300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md", "200 projects/220 Web Host Migration/Garage Web UI — handoff.md", @@ -237,7 +238,6 @@ "000 daily/FAMILY Enterprise Homelab AI Multimedia Suite. Systems Architecture & Blueprint.md", "200 projects/220 Web Host Migration/Backup Architecture — Offsite to AWS S3.md", "300 areas/360 Dev-Ops Network Computers/Photo Pipeline & Storage Map.md", - "200 projects/220 Web Host Migration/Migration Work Log.md", "000 daily/ThinkPad Recommendations", "500 archive/510 Daily", "300 areas/305 Ideas Businesses", diff --git a/200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md b/200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md new file mode 100644 index 0000000..1914eca --- /dev/null +++ b/200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md @@ -0,0 +1,50 @@ +# Project Ops — Prepared Plan (awaiting token refresh + approval) + +> Status: **ASSESSMENT + PREPARATION COMPLETE — NOT BUILT.** +> Blocked on: valid Vikunja API token + Outline API key in `~/.config/environment.d/10-secrets.conf` on `.27` +> (Current tokens reject: Vikunja `invalid token`, Outline `unable to decode token` — stale/wrong values; AI extraction bug fixed.) + +## The project (what we're setting up) +**Website hosting migration**: retire InMotion VPS → local `.13` hosting + AWS S3 offsite + email. +(Everything already done/planned in Obsidian: migration plan, AWS offsite backup, email PurelyMail+SES, Garage, restore runbook.) + +## 1. Vikunja — Project + tasks (kanban stages) +**Project:** `Website Host Migration` (in Vikunja) +**Stages/buckets:** `Backlog` → `In Progress` → `Blocked/Waiting` → `Done` + +**Tasks (initial set, matching what's real):** +| Task | Stage | Notes | +|---|---|---| +| 1. AWS offsite backup (S3 + Glacier) | Done | nightly sync, monitor page, alerts live | +| 2. Email: audasmedia + where-woof (PurelyMail + SES) | In Progress | DNS done; SES prod access pending | +| 3. Garage v2 upgrade + web UI | Done | buckets visible | +| 4. Backup gap closure (borg coverage + s3 add) | Done | reordered sync, restore runbook | +| 5. audasmedia.com.au infra on .13 | Backlog | awaiting specs | +| 6. where-woof.com website build (other AI) | In Progress* | tracked externally | +| 7. SES production access (both domains) | Waiting | AWS approval | +| 8. Decommission InMotion VPS | Backlog | after sites live | + +## 2. Outline — Collection + docs (for AI bots) +**Collection: `Website Host Migration`** +Docs to create (draft): +- `Overview` — what/why (one-pager) +- `Architecture` — target stack, diagrams (Caddy, Docker, Garage, AWS) +- `AWS Offsite Backup` — bucket, lifecycle, sync, restore runbook +- `Email Setup (PurelyMail + SES)` — config, DNS records, handoff +- `Garage v2` — upgrade + admin UI usage +- `Decommission InMotion` — checklist +- `Handoffs for AI` — SES SMTP creds reference (no secrets: point to local file) + +## 3. Obsidian consolidation (human +- Create `000 MIGRATION — OVERVIEW.md` in `220 Web Host Migration/`: summary status table (what's live/done/pending), links. +- Point it (and the flat phase notes) at **Outline** for AI-facing docs + **Vikunja** for tasks via links in frontmatter/body. +- Keep Obsidian = human narrative + configs; Outline = AI/bot docs; Vikunja = tasks. (Overlap OK: Obsidian links to both.) + +## Auth needed to build +- Valid `VIKUNJA_TOKEN` + `OL_API_KEY` on `.27` (regenerate in apps, or confirm current location). + +## Rollout order (after approval + tokens) +1. Vikunja: create project + buckets + tasks (verifiable) +2. Outline: create collection + draft docs (verifiable) +3. Obsidian: write overview + link to both +4. Report outcomes with ids/urls for your visual check \ No newline at end of file