sam-4screen-desktop 2026-9-9:18:24:8

This commit is contained in:
2026-09-09 18:24:08 +10:00
parent c868b2444c
commit 13ff2294cb
2 changed files with 29 additions and 5 deletions

View File

@@ -13,12 +13,12 @@
"state": {
"type": "markdown",
"state": {
"file": "400 resources/450 Recipes/Easy Yogurt flat bread.md",
"file": "300 areas/360 Dev-Ops Network Computers/Error Tracking.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Easy Yogurt flat bread"
"title": "Error Tracking"
}
}
]
@@ -183,7 +183,7 @@
"state": {
"type": "file-properties",
"state": {
"file": "400 resources/450 Recipes/Easy Yogurt flat bread.md"
"file": "300 areas/360 Dev-Ops Network Computers/Error Tracking.md"
},
"icon": "lucide-info",
"title": "File properties"
@@ -209,8 +209,9 @@
"templater-obsidian:Templater": false
}
},
"active": "8f0c8ae5063438f6",
"active": "7066c9273c6fb936",
"lastOpenFiles": [
"400 resources/450 Recipes/Easy Yogurt flat bread.md",
"300 areas/360 Dev-Ops Network Computers/Backup System — Borg, Kopia & Restic.md",
"200 projects/240 Web Sites/Kontra Day.md",
"000 daily/FAMILY S3 Storage Integration & Blueprint.md",
@@ -246,7 +247,6 @@
"300 areas/350 AI/AI Tools to try.md",
"300 areas/360 Dev-Ops Network Computers/Error Tracking.md",
"300 areas/360 Dev-Ops Network Computers/FAMILY CONSOLE.md",
"300 areas/360 Dev-Ops Network Computers/Backup Health Check Commands.md",
"Untitled.canvas"
]
}

View File

@@ -72,3 +72,27 @@ Two failures blocked the request path.
- Changed `app.py` MQTT intake to retry and reconnect. Backup: `app.py.bak-mqtt-20260906`.
- Run `sudo systemctl restart voice-agent` to load the change.
- DeepSeek key is valid but the account balance is zero. Add credit at platform.deepseek.com.
---
# 2026-09-09 — Garage S3 web returns 404/403 for site images (anonymous hosting)
## Symptom
A Go + htmx site (being built for `kontra.day`) tried to serve uploaded images through **Garage S3 web** (`:3902`) and got `404` on the bucket root and `403 Forbidden: Garage does not support anonymous access yet` in `docker logs family-home-lab-garage-1`.
## Root cause
Two things misled the diagnosis:
1. **Wrong claim (from an earlier AI):** it said `[s3_web]` was absent and the web server wasn't running. **False** — `[s3_web]` IS in `garage.toml` (`bind_addr = "[::]:3902"`, `root_domain = ".web.lab.audasmedia.com.au"`, `index = "index.html"`) and the log shows `Web server listening on http://[::]:3902`. Verified: `ss -tln` shows 3902 bound (Garage web server), 3903 admin, 3909 garage-webui.
2. **Real issue:** Garage S3 Web is **not anonymous static hosting**. It requires **per-bucket web access + a read-scoped access key**. Without it, every request gets `403 Forbidden: Garage does not support anonymous access yet`, and the bucket root 404s with no index/perm.
## Fix / correct pattern
- **Do NOT** point site/app code at `:3902` for anonymous browsing.
- **Use the S3 API** (`:3900`, region `garage`) with a **read-scoped key** for uploads/reads.
- **Serve images** through the app or **Caddy** (reverse-proxy to Garage with the read key, or a Caddy `file_server` static dir) — not via `:3902` directly.
- If web-serving a bucket is truly needed, enable **per-bucket web access + a guest/read key** in Garage (not a global switch).
## Verification / non-causes
- `[s3_web]` present; web server confirmed running (log line + port 3902 bound) → the earlier "no s3_web / not running" diagnosis was wrong.
- Port map: 3900 S3 API · 3902 S3 web · 3903 admin API · 3909 garage-webui. No port conflict.
- Documented in the Garage section of [[Backup System — Borg, Kopia & Restic]] and the kontra.day site handoff.