From 065bd4b7ce7831444d9487083fb17bb94c04d8a8 Mon Sep 17 00:00:00 2001 From: Clawd Date: Mon, 16 Feb 2026 17:25:08 -0800 Subject: Add TODO.md with known limitations - Docker container port hardcoded to 80 - ship host init doesn't create local state.json --- TODO.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 TODO.md (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..57deebc --- /dev/null +++ b/TODO.md @@ -0,0 +1,41 @@ +# Ship TODO + +## Known Limitations + +### Docker Container Port Assumption +**Current behavior:** Ship assumes Docker containers listen on port 80 internally. + +**In:** `internal/templates/templates.go`: +``` +-p 127.0.0.1:{{.Port}}:80 +``` + +**Problem:** Containers that expose other ports (e.g., 8080, 3000) will not work. + +**Workaround:** Ensure your Docker container listens on port 80, or manually edit the systemd unit after deployment. + +**Potential fixes:** +1. Add `--container-port` flag to specify internal port +2. Auto-detect from Dockerfile `EXPOSE` directive +3. Support `PORT` env var in Docker containers (like binary deploys) + +--- + +## Other TODOs + +### ship host init doesn't create local state.json +**Problem:** After `ship host init`, the local `~/.config/ship/state.json` isn't created with the base_domain. Deploys fail with "HOST_NOT_CONFIGURED". + +**Workaround:** Manually create `~/.config/ship/state.json`: +```json +{ + "default_host": "alaskav6", + "hosts": { + "alaskav6": { + "next_port": 8001, + "base_domain": "northwest.io", + "apps": {} + } + } +} +``` -- cgit v1.2.3