summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorbndw <ben@bdw.to>2026-02-14 08:11:33 -0800
committerbndw <ben@bdw.to>2026-02-14 08:11:33 -0800
commitb9120489c454877ff623e65db48ec97f402bf8ed (patch)
tree4d903a9ad1307818fa4184c9cb7d329ea2386151 /README.md
parentf0dfabe5b7f1f8d23169c6e62a2f0c27bd6c5463 (diff)
Store deployment configs locally for binary deployments
For binary and static deployments, .ship/service and .ship/Caddyfile are now written to the local working directory (similar to git deployments) instead of being regenerated on every deployment. - On initial deployment, create local .ship/ directory with generated configs - On subsequent deployments, upload from local .ship/ files - Caddyfile is never regenerated, preserving custom routes - Systemd service is regenerated only when --memory, --cpu, or --args change This prevents custom Caddyfile routes from being overwritten and makes binary deployment workflow consistent with git deployment workflow.
Diffstat (limited to 'README.md')
-rw-r--r--README.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/README.md b/README.md
index cdd4127..c440c49 100644
--- a/README.md
+++ b/README.md
@@ -70,6 +70,12 @@ GOOS=linux GOARCH=amd64 go build -o myapp
70ship --binary ./myapp --domain api.example.com 70ship --binary ./myapp --domain api.example.com
71``` 71```
72 72
73On first deployment, Ship creates a `.ship/` directory in your current working directory containing:
74- `.ship/service` - systemd unit file
75- `.ship/Caddyfile` - Caddy reverse proxy config
76
77These files are uploaded on each deployment. You can edit them locally to customize your deployment (add extra Caddy routes, adjust systemd settings). The systemd service is regenerated when you update resource limits with `--memory`, `--cpu`, or `--args` flags. The Caddyfile is never regenerated, so your custom routes won't be overwritten.
78
73You can version control `.ship/` or add it to `.gitignore` — it's your choice. 79You can version control `.ship/` or add it to `.gitignore` — it's your choice.
74 80
75## Commands 81## Commands