From b9120489c454877ff623e65db48ec97f402bf8ed Mon Sep 17 00:00:00 2001 From: bndw Date: Sat, 14 Feb 2026 08:11:33 -0800 Subject: 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. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'README.md') 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 ship --binary ./myapp --domain api.example.com ``` +On first deployment, Ship creates a `.ship/` directory in your current working directory containing: +- `.ship/service` - systemd unit file +- `.ship/Caddyfile` - Caddy reverse proxy config + +These 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. + You can version control `.ship/` or add it to `.gitignore` — it's your choice. ## Commands -- cgit v1.2.3