| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Don't overwrite Caddyfile if it already exists. This preserves
manual customizations (NIP-05 routes, custom headers, etc.).
First deploy generates Caddyfile, subsequent deploys leave it alone.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Port allocation:
- Use atomic flock-based allocation via /etc/ship/next_port
- Prevents race conditions when multiple deploys run concurrently
- Each app still gets its port stored in /etc/ship/ports/<name>
Docker container port:
- Add --container-port flag (default 80)
- Template now uses {{.ContainerPort}} instead of hardcoded 80
- Supports containers that listen on 8080, 3000, etc.
|
| | |
|
| | |
|
|
|
- deploy_impl_v2.go: full implementations for static, docker, binary deploys
- Static: rsync + Caddyfile generation + reload
- Docker: rsync + build + systemd unit + env file + Caddyfile
- Binary: scp + systemd unit + service user + env file + Caddyfile
- Port allocation: server-side in /etc/ship/ports/
- TTL: server-side in /etc/ship/ttl/
- Health checks: HTTP GET with 30s retry loop
All deploy types now functional (pending Go compilation test)
|