summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/ship/main.go25
1 files changed, 22 insertions, 3 deletions
diff --git a/cmd/ship/main.go b/cmd/ship/main.go
index 680ac58..27fe8b7 100644
--- a/cmd/ship/main.go
+++ b/cmd/ship/main.go
@@ -18,13 +18,32 @@ var (
18 date = "unknown" 18 date = "unknown"
19) 19)
20 20
21const banner = `
22 ~
23 ___|___
24 | _ |
25 _|__|_|__|_
26 | SHIP | Ship apps to your VPS
27 \_________/ with automatic HTTPS
28 ~~~~~~~~~
29`
30
21var rootCmd = &cobra.Command{ 31var rootCmd = &cobra.Command{
22 Use: "ship", 32 Use: "ship",
23 Short: "Ship apps and static sites to a VPS with automatic HTTPS", 33 Short: "Ship apps and static sites to a VPS with automatic HTTPS",
24 Long: `ship - Ship apps and static sites to a VPS with automatic HTTPS 34 Long: banner + `
25
26A CLI tool for deploying applications and static sites to a VPS. 35A CLI tool for deploying applications and static sites to a VPS.
27Uses Caddy for automatic HTTPS and systemd for service management.`, 36
37How it works:
38 Ship uses only SSH to deploy - no agents, containers, or external services.
39 It uploads your binary or static website, creates a systemd service, and configures Caddy
40 for automatic HTTPS. Ports are assigned automatically. Your app runs directly on the VPS
41 with minimal overhead.
42
43Requirements:
44 • A VPS with SSH access (use 'ship host init' to set up a new server)
45 • An SSH config entry or user@host for your server
46 • A domain pointing to your VPS`,
28 RunE: runDeploy, 47 RunE: runDeploy,
29 SilenceUsage: true, 48 SilenceUsage: true,
30 SilenceErrors: true, 49 SilenceErrors: true,