BLOCKING: WooCommerce base URL must be declared in Docker Compose, not user-editable #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The WooCommerce base URL is currently treated as a per-store setting editable through the Settings UI. If two app users can point the same deployment at two different Woo stores, drafts, SKUs, and taxonomy sync split across stores with no single source of truth.
Plan of record
The Docker Compose file is the single source of truth for the WooCommerce base URL. It is declared as a named environment variable (e.g.
WOO_BASE_URL) in the compose config, injected into the FastAPI container at startup, and read-only from the application's perspective. No separate config file, no UI field, no database row.SSL-only constraint
Only HTTPS URLs are supported. The compose value must be an
https://URL; the server rejects anyhttp://value at startup (or on first use) so plaintext traffic to the store is impossible. This matches the TLS-enforced deployment posture and keeps credentials off the wire in cleartext.UX requirement
The Settings UI must present the URL as a non-mutable display — read-only text showing the store the user is connected to, so the user always knows which store they are working against. It must not be an editable input.
Docs to update
WOO_BASE_URLin the compose example and state it is the plan of recordAcceptance criteria
WOO_BASE_URLis defined in the compose file and injected at container starthttps://URLs are accepted;http://is rejected at startup or first useDocs slice for #11 on
docs/refactor-v2@3921a9d:deploy/docker-compose.yml,deploy/.env.example,deploy/Caddyfile.fragmentWOO_BASE_URLinjected at container start; HTTPS-only (FastAPI must refusehttp://at startup — code still pending, not this docs pass)Remaining issue acceptance: compose-change smoke + startup reject
http://need app code (not DOC COMPLETE / not Gate B).Docs work complete. All docs on
docs/refactor-v2consistently state thatWOO_BASE_URLis the compose-only single source of truth, HTTPS-only, read-only in Settings, and not a settings row. The compose file already declares the env var and the.env.examplehas the placeholder.Code acceptance criteria (startup
http://rejection, Settings UI read-only display, smoke test) are deferred until the backend/frontend is implemented. Those will be addressed when the app is built.