- docs/kontra-architecture.mmd (mermaid source) + rendered PNG/SVG - docs/kontra-architecture-map.html (interactive Archify, validated + visual-checked) - docs/architecture.md (doc with embedded mermaid) - README.md (showcase: stack, content model, design system, deploy, security) - published docs/ to https://maps.lab.audasmedia.com.au/kontra_day/docs/ [secret-scan: skip - false positive on generated mermaid SVG path data]
3.7 KiB
3.7 KiB
type, id, title, status, source_of_truth, freshness, last_reviewed, tags
| type | id | title | status | source_of_truth | freshness | last_reviewed | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| context | context.kontra-day.admin-kontra-lab-audasmedia-com-au | admin.kontra.lab.audasmedia.com.au | active | false | current | 2026-09-08 |
|
admin.kontra.lab.audasmedia.com.au
Rich discovery update (2026-09-08 21:22:57)
Kontra is fully deployed and live on your home network. Here's the complete picture.
✅ Live now
| URL | What |
|---|---|
| https://kontra.lab.audasmedia.com.au | The site — front page, articles, subjects, all 200 |
| https://admin.kontra.lab.audasmedia.com.au/web/admin/ | Decap CMS editor (content management) |
Architecture (final, matching your conventions)
Gitea (sam/kontra-content, .35) ← push from Obsidian/Neovim/Decap
│ 30s pull loop (git pull) inside container
▼
Kontra Docker container (.13, :8600) ← sam:users content at /var/www/kontra_day/content
▲
master Caddy (.35) → reverse_proxy 192.168.20.13:8600 (direct, no .13-Caddy hop)
What was handled (including the messy middle)
- NixOS lesson:
.13's/etc/systemd/systemis read-only (Nix-managed) — I initially added systemd units + Caddy vhosts toconfiguration.nix, but you correctly pushed back. We reverted it cleanly (backupconfiguration.nix.bak-kontra-20260908-195305restored) and moved to Docker, matching where-woof/outline. - Autosync bugs found & fixed (all verified locally first):
/bin/bashmissing on NixOS → moved to Dockerbuild: ./Dockerfilecompose mistake →{context, dockerfile}- git "dubious ownership" on mounted repo →
safe.directory - Restart killed wrong PID → nested subshell; rewrote entrypoint so
execmakes$!the real binary - Stale-HEAD gate skipped pulls → always pull, compare PREV/CUR
- Verified live on .13: pushed a new article → live in 30s (200); deleted it → 404 in 30s. Clean restarts, no port-bind errors.
Housekeeping
- Gitea deploy token is in the gitignored
.env— confirmed nothing sensitive is in any repo. - Test articles removed from content; home page serving your real subjects.
- Obsidian vault ready:
/home/sam/obsidian/kontra_content→ content repo (opens as a small vault; Obsidian Git plugin for push).
Remaining from the original plan (optional follow-ups)
- Phase 5: DNS/email —
kontra.lab.audasmedia.com.auresolves via existing wildcard; public DNS (kontra.com?) + email later per that plan. - Decap git-gateway auth (currently config is present; git-gateway OAuth on Gitea would be the login step).
- Backups integration (Phase 6) — the content repo is already in Git (Gitea-backed);
.13Docker volumes/Borg are separate.
Want me to keep going (Decap login setup, or Phase 5 DNS), or rest here?
Source paths observed
2026/09/08var/www/kontra_day/contentweb/assets/kontra.css.env/token/secretadmin.kontra.lab.audasmedia.com.au/web/adminObsidian/Neovim/Decapetc/systemd/systemhome/sam/obsidian/kontra_content
Evidence
- Confidence: 84%
- Reason: Update component/repository context with detailed discovered structure and configuration