GCP stacks
A GCP stack is a Compute Engine VM running dokku in your project. OwnStack provisions via OAuth — you connect a Google account in the dashboard once, then create stacks in any project that account can administer.
Prerequisites
- A GCP project with billing enabled.
- The Compute Engine API enabled (
compute.googleapis.com). - A Google account with at least
roles/compute.instanceAdmin.v1on the project, or owner.
Connect your Google account
In the dashboard, Cloud accounts → Add → Google. Complete OAuth. The control plane stores a refresh token (encrypted) and uses it to provision new stacks.
Create the stack
Stacks → New → GCP. Choose:
| Field | What to set |
|---|---|
| Project | Pick from the projects your connected account administers. |
| Zone | us-central1-a is a sensible default; pick something close to your users. |
| Machine type | e2-small (2 vCPU shared, 2 GiB) for small apps; e2-medium or n2-standard-2 for real workloads. |
| Disk size | 30 GiB minimum, 50 GiB comfortable. |
| Static external IP | Recommended — DNS won't break on stop/start. |
Firewall
OwnStack creates firewall rules in your VPC for ports 22, 80, 443. If you have a custom VPC with more restrictive defaults, allow these from 0.0.0.0/0 (or your trusted IP range for SSH).
Sizing
| Workload | Recommended |
|---|---|
| One small app | e2-small |
| Real traffic + Postgres on-box | e2-medium or n2-standard-2 |
| Multiple apps + workers | n2-standard-4 or c2-standard-4 |
| Heavy database workload | Move Postgres to Cloud SQL; keep stack small. |
Decommissioning
$ ownstack stack destroy <stack>
Deletes the VM, releases the static IP, removes the firewall rules. Move your apps to another stack first if they're production.