blob: 57deebcfa31e59bed8317b4618a593922b5dc720 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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": {}
}
}
}
```
|