You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**A VPS** running Ubuntu 22.04+ or Debian 12+ | ShipNode provisions Node, PM2, Caddy on this OS. |
17
-
|**A non-root SSH user** with `sudo` and a public key in `~/.ssh/authorized_keys`|All `shipnode` commands run as this user. |
18
-
|**A domain**pointing an A record at the VPS IP| Caddy will issue an HTTPS cert automatically. |
17
+
|**SSH access as `root`** with your public key in `/root/.ssh/authorized_keys`|The simplest path — what most fresh VPS images give you. |
18
+
|**A domain name**with an **A record pointing at the VPS public IP**|Required. Caddy uses the domain to issue an HTTPS cert automatically — no domain, no TLS. |
19
19
|**Node.js 18+ locally**| The CLI is a Node.js package. |
20
20
21
-
If your VPS only has a root user right now, create the deploy user first:
21
+
### Point your domain at the server
22
+
23
+
Before anything else, log into your DNS provider (Cloudflare, Namecheap, Route 53, OVH…) and create an **A record**:
24
+
25
+
| Type | Name | Value | TTL |
26
+
|---|---|---|---|
27
+
|`A`|`api`*(or `@` for the apex)*|`203.0.113.10`*(your VPS IP)*| Auto / 300 |
DNS can take a few minutes (sometimes longer with Cloudflare proxying — turn the orange cloud off initially so Caddy can issue the cert via HTTP-01).
37
+
38
+
### About the root user
39
+
40
+
This walkthrough uses **`root`** to keep the path short. ShipNode runs fine as root on a single-purpose VPS, and `shipnode setup` / `harden` will lock the server down afterwards (no password auth, fail2ban, firewall). If you'd rather create a dedicated `deploy` user instead, change the `user` field in `shipnode.config.ts` and make sure that user has `sudo` and your SSH key.
41
+
33
42
## 1. Install shipnode in your project
34
43
35
44
```bash
@@ -63,7 +72,7 @@ import { shipnode } from '@devalade/shipnode';
0 commit comments