Free Tier Hosting Stack
Table of Contents
Hugo, GitHub, and Cloudflare Pages ship static sites for $0 - until build caps, queues, or account limits bite.
Key Concept
- Hard caps on Cloudflare free: about 500 builds per month per account, one concurrent build, 20,000 files per deployment, and a 20-minute build timeout.
- Level 1: Free hosting has strict limits - five hundred builds a month, one at a time, like a capped gym pass.
- Level 2: The free tier is like a shared metered hose - bandwidth looks unlimited, but build count and queue time drain the budget first.
- Level 3: Because build count and queue time are the traps, fat repos and frequent pushes burn the budget faster than bandwidth ever will.
- Level 4: Batch commits, pin HUGO_VERSION, and count builds before you add another client who pushes daily - one account hosting many clients burns fast.
- Level 5: Static bandwidth is unmetered - the traps are build count, queue time, and fat repos; Selling Static Sites and Digital Garden share the same pipeline when clients push often.
- Static bandwidth is unmetered - the traps are build count, queue time, and fat repos.
- Flow: Hugo turns markdown into HTML, GitHub holds source, Cloudflare Pages builds on push and serves over CDN.
- Full walkthrough: How I Built JoRap Notes - same pipeline for Selling Static Sites and the Digital Garden.
- No database, no admin panel - which is why Static Site Client Scope matters.
- One account hosting many clients who push often burns the 500-build budget fast; pin
HUGO_VERSIONon every project.
Examples
- Twelve client sites on one free account - hit 500 builds mid-month and Friday deploys started queuing.
- Build failed until Hugo was pinned - env var on every new project template now, and that failure still counted against the cap.
Note Relationships
| Relationship | Wikilink | Reason |
|---|---|---|
| contradicts | Building a Personal API | when the site needs a live API and database, not static HTML |
| contradicts | Local-first Software | when the workflow needs sync apps, not git-push-to-deploy |
| extends | Digital Garden | Same Hugo-plus-git publish lane I use for the notes garden |
| extends | Future-Proofing Knowledge | Markdown in git survives; hosting vendor is swappable |
| extends | Getting Started | Same markdown-first workflow as garden notes |
| extends | Selling Static Sites | Default host for client static sites until limits force upgrade |
| extends | Static Site Client Scope | Stack limits define what jobs fit |
| extends | Success is Stewardship | Steward the build budget on borrowed infra |
| implements | Rollback Principle | Git revert and previous Cloudflare deploy are the rollback lane |
| implements | Staged Rollout | PR preview deploy before Pages merges to main |




