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
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)
Vikunja: create project + buckets + tasks (verifiable)
Outline: create collection + draft docs (verifiable)
Obsidian: write overview + link to both
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)