docs: draft Gate B inventory for ubuDual5060 practice host

SSH verified as ty. Ports, Docker, Tailscale IPs recorded.
APP_HOSTNAME and WOO_BASE_URL still TBD.
This commit is contained in:
2026-09-06 23:01:09 +00:00
parent 00346ce0f4
commit 45f0f4ea1c
+28 -27
View File
@@ -7,62 +7,63 @@ Do not assume a prior lab IP or hostname. See `docs/DEPLOYMENT.md`.
| Field | Value | | Field | Value |
|---|---| |---|---|
| Inventory date | | | Inventory date | 2026-09-06 PT |
| Operator | | | Operator | Ty / Main Cut (SSH from cursor Tailscale node) |
| Machine name / role | | | Machine name / role | ubuDual5060 — practice / UAT app host (locked) |
| `APP_HOST` (LAN or Tailscale IP/name used in DNS) | | | `APP_HOST` (LAN or Tailscale IP/name used in DNS) | Tailscale preferred: `100.64.0.9` (`ubudual5060`). LAN also: `192.168.1.202` |
| `APP_HOSTNAME` (HTTPS site name, e.g. `slab.example.local`) | | | `APP_HOSTNAME` (HTTPS site name, e.g. `slab.example.local`) | **TBD — Ty to pick** (proposal: `slab.ubudual5060` or MagicDNS name) |
| OS / Docker version | | | OS / Docker version | Ubuntu 26.04.1 LTS; Docker 29.8.0; Compose v5.5.1 |
| Notes | | | Notes | SSH as `ty` from Grok Bot (`cursor` Tailscale) with key `grokbot-cursor@ubudual5060-slabuploader`. User `ty` is in `docker` group. Disk ~15G free of 172G (92% used) — watch volume growth. Gitea is code SoT only; runtime is this host. |
| `WOO_BASE_URL` (`https://` store; not editable in app) | | | `WOO_BASE_URL` (`https://` store; not editable in app) | **TBD — Ty to provide** (`https://` only) |
## Ports and collisions ## Ports and collisions
| Check | Result | | Check | Result |
|---|---| |---|---|
| `docker ps` summary (names + published ports) | | | `docker ps` summary (names + published ports) | Running: `whisperx-stt` `0.0.0.0:9000->9000`. Host also has `llama-server` on `0.0.0.0:8082`. Firecrawl stack present but exited. |
| Free HTTP port for frontend bind (`FRONTEND_PORT`, default 18080) | | | Free HTTP port for frontend bind (`FRONTEND_PORT`, default 18080) | **18080 free** (not in `ss` listen list) |
| Free port for fastapi bind (`FASTAPI_PORT`, default 18081) | | | Free port for fastapi bind (`FASTAPI_PORT`, default 18081) | **18081 free** |
| Caddy public HTTPS port in use by other sites | | | Caddy public HTTPS port in use by other sites | No host `caddy.service`. No Caddy container found. HTTPS front still to be added. |
| Co-resident apps that own ports (example: bolt.diy on 8443-class) | | | Co-resident apps that own ports (example: bolt.diy on 8443-class) | 9000 (whisperx-stt), 8082 (llama-server), 22 (sshd). Avoid those. |
## Caddy ## Caddy
| Field | Value | | Field | Value |
|---|---| |---|---|
| Caddy config path (host file or container) | | | Caddy config path (host file or container) | **Not installed yet** — choose host install vs compose sidecar at Gate B execute |
| Existing site blocks that share this host | | | Existing site blocks that share this host | none found |
| TLS mode (`internal` CA vs other) | | | TLS mode (`internal` CA vs other) | TBD (Tailscale HTTPS / Caddy `internal` / existing lab CA) |
| Phone CA trust verified? (yes/no + how) | | | Phone CA trust verified? (yes/no + how) | no — not deployed yet |
## DNS / reachability ## DNS / reachability
| Field | Value | | Field | Value |
|---|---| |---|---|
| DNS source (Pi-hole / AdGuard / MagicDNS / hosts) | | | DNS source (Pi-hole / AdGuard / MagicDNS / hosts) | Tailscale MagicDNS resolves `ubudual5060` today. `APP_HOSTNAME` record still TBD. |
| A record: `APP_HOSTNAME` → `APP_HOST` | | | A record: `APP_HOSTNAME` → `APP_HOST` | TBD after hostname pick |
| Reachable from phone on LAN? | | | Reachable from phone on LAN? | TBD after deploy |
| Reachable from phone on Tailscale? | | | Reachable from phone on Tailscale? | TBD after deploy (path intended) |
## Volumes and backup ## Volumes and backup
| Field | Value | | Field | Value |
|---|---| |---|---|
| Docker volume dir convention | | | Docker volume dir convention | TBD on first compose up (prefer under a dedicated path; disk pressure noted) |
| Backup target path (local) | | | Backup target path (local) | TBD |
| Off-box mirror (if any) | | | Off-box mirror (if any) | TBD |
## Smoke after first up ## Smoke after first up
| Check | Pass? | | Check | Pass? |
|---|---| |---|---|
| `curl -k https://${APP_HOSTNAME}/api/health` | | | `curl -k https://${APP_HOSTNAME}/api/health` | not run |
| Compose `frontend` + `fastapi` healthy | | | Compose `frontend` + `fastapi` healthy | not run |
| Caddy `/api/*` reaches fastapi (not frontend) | | | Caddy `/api/*` reaches fastapi (not frontend) | not run |
## Sign-off ## Sign-off
| Role | Name | Date | | Role | Name | Date |
|---|---|---| |---|---|---|
| Inventory draft (SSH + ports) | Main Cut | 2026-09-06 PT |
| Inventory complete | | | | Inventory complete | | |
| Ty Gate B (optional) | | | | Ty Gate B (optional) | | |