Files
obsidian-vault/200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md

4.1 KiB
Raw Blame History

title, type, status, areas, projects, created, updated, tags
title type status areas projects created updated tags
Project Ops — Build Plan (Vikunja+Outline+Obsidian) project on-hold
Dev-Ops Network Computers
Website Host Migration
2026-09-16 2026-09-16
project
migration
wikunja
outline

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

BUILD LOG — Vikunja + Outline (2026-09-05)

Access resolution

  • project-ops skill found; secrets file ~/.config/environment.d/10-secrets.conf.
  • Extraction bug: tokens quoted in file → naive grep dropped/kept quotes → 401s. Fixed: cut -d= -f2- | sed 's/^"//;s/"$//'.
  • Vikunja intermittent 401: real (user confirmed). Retries needed. Working base: http://vikunja.home.lab/api/v1 (https via Caddy 401s on round-trip; http works).
  • Outline: works via https://outline.lab.audasmedia.com.au/api; key valid (auth.info → admin user Sam Rolfe).

Vikunja — DONE

  • Project Website Host Migration (id 6), kanban buckets: 6 Backlog · 9 In Progress · 7 Waiting · 8 Done.
  • 8 tasks created (ids 39–46). done flags: 39/41/42 confirmed done; others open.
  • ⚠️ Bucket (stage) placement via API flaky on v0.24.5 — tasks verified present + done flags; stage drag = 2-min visual if needed.

Outline — in progress (built after this log)