docs(deploy): correct host addresses and port-block rules

- LAN address 192.168.1.202 for ubudual5060; port block 10880-10889; :10880 off limits.
- Release process points at the new ops runbook.
This commit is contained in:
2026-09-19 10:12:32 -07:00
parent 2ba5428269
commit 1dfff0b7c9
4 changed files with 28 additions and 13 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ Product overview: `docs/PRODUCT.md`.
**Behavior** for Woo sync, metadata, pricing, and inference is in `docs/capabilities/CREATE.md` and the `docs/contracts/` set. `docs/REQUIREMENTS.md` is the only normative text.
Do not implement work outside the M3 requirement subset unless Ty expands scope in chat.
Do not touch deploy port `:10880`. UAT redeploy target is overnight Docker on ubudual5060 `:10881`.
Ports `10880`–`10889` are allocated to this project on ubudual5060; `:10880` itself is taken by Ty's local Node/SvelteKit and must not be bound. The dev-test environment runs on ubudual5060 `:10881` (or another free port in the block) and must be reachable from any machine on `192.168.1.0/24` (bind `0.0.0.0`, e.g. `http://192.168.1.202:10881`).
## Milestones and capabilities
+13 -8
View File
@@ -1,20 +1,25 @@
# Host
## Overnight Milestone 2 Capture (UAT)
Port block `10880`–`10889` on ubudual5060 is allocated to this project.
`:10880` is Ty's local Node/SvelteKit and must never be bound by project deploys.
The dev-test environment binds `0.0.0.0` so any machine on `192.168.1.0/24` can reach it.
- Host: `ubudual5060` / Tailscale `100.64.0.9`
## Dev-test environment (M2 current, M3 incoming)
- Host: `ubudual5060` / LAN `192.168.1.202` / Tailscale `100.64.0.9`
- Container: `slabuploader-m2-overnight` (image `slabuploader-m2:overnight`)
- Port: **10881** → 80
- URL: `http://100.64.0.9:10881`
- Replaces prior overnight container `slabuploader-m1-overnight` (same port).
- Port: **10881** → 80, bound `0.0.0.0`
- URLs: `http://192.168.1.202:10881` (LAN) · `http://100.64.0.9:10881` (Tailscale)
- M3 replaces this container on the same port; remove the M2 container once M3 is healthy.
## Ty local Node/SvelteKit (do not overwrite)
- Host: `ubudual5060` / `100.64.0.9`
- Container: `slabuploader-m1`
- Port: **18080** → 80 (inventory previously listed 10880; do not bind overnight there)
- Port: **18080** → 80 (inventory previously listed 10880; that port is off limits to project deploys)
- URL: `http://100.64.0.9:18080`
- **Never** recreate or remap this container for overnight UAT.
- **Never** recreate or remap this container for project deploys.
Future overnight Capture deploys use a **separate** container name and an open **108XX** port other than Ty’s local port.
Future deploys use a **separate** container name and a free port in `10880`–`10889`
(other than `10880`), bound `0.0.0.0`.
Do not put a host name in the product spec.
+11 -2
View File
@@ -1,4 +1,13 @@
# Release
Build the Docker image. Run it on the host chosen for that test.
Milestone 3 adds the Woo service and a tagged UAT path.
The full runbook (topology, access, build/deploy, smoke checks, rollback) is `docs/DEPLOYMENT.md`.
This file records only what changes per release.
Milestone 3:
- Build happens on the UAT host (`ubudual5060`), never on the dev box. Source arrives by git
pull from Gitea into `~/slab-deploy`.
- Dev-test path: tagged container on port `10881` bound `0.0.0.0` (see `deploy/INVENTORY.md`),
replacing the M2 container. `SLAB-UAT-*` SKUs create Woo drafts only.
- `.env` is created on the host from `.env.example` (chmod 600); Woo Application Password and
inference keys live in app Settings, not in `.env`.
+3 -2
View File
@@ -57,7 +57,8 @@ Technical detail for Woo sync, metadata, pricing, and inference is in `docs/capa
## Deploy reminders for this branch
- UAT overnight Docker: ubudual5060 `http://100.64.0.9:10881`
- Do not touch `:10880` (Ty Node/SvelteKit)
- Dev-test env Docker: ubudual5060 `http://192.168.1.202:10881` (LAN) · `http://100.64.0.9:10881` (Tailscale)
- Port block `10880`–`10889` is this project's; never bind `:10880` (Ty Node/SvelteKit)
- Dev-test env binds `0.0.0.0` — reachable from any machine on `192.168.1.0/24`
- Store URL (`WOO_BASE_URL`) lives in compose / host `.env`
- Woo application password and inference URL live in encrypted Settings, not in compose