Google Cloud Free Tier & Sizing
Scout’s Google Cloud deployment script (./deploy/deploy-vm.sh) defaults to a Compute Engine e2-micro instance with a 30 GB standard persistent disk in us-central1-a. Here is what you need to know about Google Cloud’s Always Free tier and e2-micro resource sizing.
About the Google Cloud Free Tier
Section titled “About the Google Cloud Free Tier”Google’s Always Free tier covers:
- The hours of one non-preemptible
e2-microinstance per month, per billing account (summed across everye2-microin every project on that billing account), and only in:us-west1(Oregon)us-central1(Iowa)us-east1(South Carolina)
- 30 GB-months of Standard Persistent Disk (
pd-standard), shared across any standard disks on your billing account. - 1 GB/month of outbound data transfer from North America (excluding destinations in China and Australia).
Important Billing Notes
Section titled “Important Billing Notes”- One instance at a time: One
e2-microrunning all month uses the entire monthly hour allowance, so running a seconde2-microat the same time on the same billing account is billed. - What is billed at standard rates: Other regions or machine types (
e2-small,e2-medium),pd-balancedor SSD persistent disks, outbound data transfer beyond 1 GB, and GPUs are billed at standard rates. Note that the external IPv4 address isn’t listed in the free tier. - Google Cloud Free Trial ($300 credit for 90 days): If you signed up through the Free Trial, upgrade to a Paid billing account before the trial ends. Otherwise, when the trial expires, the trial billing account closes and the VM is stopped—and then deleted after a 30-day grace period. Always Free tier usage continues after you upgrade to a Paid billing account.
- Policy changes: Google can change Always Free limits with 30 days’ notice. Always check the current Google Cloud Free Program documentation and your billing reports/budget alerts before relying on a $0 bill.
Resource & Sizing Considerations (e2-micro)
Section titled “Resource & Sizing Considerations (e2-micro)”Whether or not your e2-micro falls within the Always Free allowance, it is a shared-core burstable VM with specific hardware characteristics:
| Resource | Default Configuration | Details |
|---|---|---|
| Machine Type | e2-micro |
2 shared vCPUs (0.25 vCPU sustained baseline) + 1 GB physical RAM |
| Boot Disk | 30 GB pd-standard |
Standard Persistent Disk |
| Swap Memory | 2 GB /swapfile |
Auto-configured by deploy-vm.sh to guard against OOM spikes |
| Persistent Storage | /opt/scout/data → /app/data |
Holds SQLite (scout.db) and uploaded/generated media |
1. Memory Constraints (1 GB RAM + 2 GB Swap)
Section titled “1. Memory Constraints (1 GB RAM + 2 GB Swap)”- What fits comfortably: The FastAPI server, Caddy reverse proxy, SQLite database, and background worker run within ~300–450 MB of RAM under normal personal usage because LLM reasoning happens via remote cloud APIs (Gemini, Claude, OpenAI, etc.).
- What will struggle: Compiling packages locally, building large Docker images on the VM, running local LLMs (such as Ollama), or running heavy headless browsers on the VM will exhaust 1 GB of RAM and thrash swap. That is why Scout pulls pre-built images from GHCR (
ghcr.io/kcthota/scout) by default.
2. Burstable CPU (0.25 vCPU Baseline)
Section titled “2. Burstable CPU (0.25 vCPU Baseline)”e2-microprovides 2 shared-core virtual CPUs operating on a credit-based burst model with a 0.25 vCPU sustained baseline.- Bursts of activity—handling webhooks, running a subagent turn, delivering reminders—are snappy, while sustained CPU-intensive loops will consume burst credits and throttle.
3. Ephemeral External IP Address
Section titled “3. Ephemeral External IP Address”- Standard Compute Engine instances receive an ephemeral public IPv4 address by default.
- Restart impact: Rebooting Inside the OS keeps the IP, but stopping and starting the VM in the GCP Console reassigns a new external IP address.
- Domain impact:
- If using the default
<IP>.sslip.iodomain, re-run./deploy/deploy-vm.sh set-domain <NEW-IP>.sslip.io. - If using a custom domain, update your DNS
Arecord to the new IP address (or reserve a static external IP in Google Cloud VPC Network settings).
- If using the default
When to Upgrade Your Machine SKU
Section titled “When to Upgrade Your Machine SKU”For heavier workloads or multiple concurrent background subagents, pass --machine-type during deployment or upgrade:
e2-small(2 vCPUs, 2 GB RAM): Recommended if you run frequent concurrent subagents or large knowledge document ingestion (~$7–$10/month).Terminal window ./deploy/deploy-vm.sh --machine-type e2-smalle2-medium(2 vCPUs, 4 GB RAM): Recommended for heavy automation schedules and large MCP tool workloads (~$15–$25/month).Terminal window ./deploy/deploy-vm.sh --machine-type e2-medium
