summaryrefslogtreecommitdiffstats
path: root/TODO.md
diff options
context:
space:
mode:
authorClawd <ai@clawd.bot>2026-02-16 17:25:08 -0800
committerClawd <ai@clawd.bot>2026-02-16 17:25:08 -0800
commit065bd4b7ce7831444d9487083fb17bb94c04d8a8 (patch)
treede30dab90a0be97997cbc5be031235e6dba4f218 /TODO.md
parent3cd1ee83993b2543a7701a48d048c417c52bfdcb (diff)
Add TODO.md with known limitations
- Docker container port hardcoded to 80 - ship host init doesn't create local state.json
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..57deebc
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,41 @@
1# Ship TODO
2
3## Known Limitations
4
5### Docker Container Port Assumption
6**Current behavior:** Ship assumes Docker containers listen on port 80 internally.
7
8**In:** `internal/templates/templates.go`:
9```
10-p 127.0.0.1:{{.Port}}:80
11```
12
13**Problem:** Containers that expose other ports (e.g., 8080, 3000) will not work.
14
15**Workaround:** Ensure your Docker container listens on port 80, or manually edit the systemd unit after deployment.
16
17**Potential fixes:**
181. Add `--container-port` flag to specify internal port
192. Auto-detect from Dockerfile `EXPOSE` directive
203. Support `PORT` env var in Docker containers (like binary deploys)
21
22---
23
24## Other TODOs
25
26### ship host init doesn't create local state.json
27**Problem:** After `ship host init`, the local `~/.config/ship/state.json` isn't created with the base_domain. Deploys fail with "HOST_NOT_CONFIGURED".
28
29**Workaround:** Manually create `~/.config/ship/state.json`:
30```json
31{
32 "default_host": "alaskav6",
33 "hosts": {
34 "alaskav6": {
35 "next_port": 8001,
36 "base_domain": "northwest.io",
37 "apps": {}
38 }
39 }
40}
41```