A Modern Blog with Zero Monthly Costs
There’s something beautiful about automation. As a developer who’s spent countless hours updating websites manually, I’ve learned that the perfect blogging setup should get out of your way and let you focus on writing. Today, I’ll show you how to build a modern blog with automated deployment - and the best part? It costs nothing to run (except your domain name).
Why This Stack?
Before diving in, let me explain why this combination works so well:
- Publii: A desktop CMS that feels like WordPress but runs locally. No databases to maintain.
- GitHub: Free hosting for your source files and version control built in.
- Netlify: Lightning-fast CDN and automated deployments, with a generous free tier.
When combined, these tools create a workflow where you write content locally, preview it instantly, and publish with a single click. Your changes automatically deploy across a global CDN.
Setting Up Your Blog
1. The Foundation
Start by downloading Publii from getpublii.com. While that’s installing, let’s get GitHub ready:
Create a new GitHub repository
- Name it after your domain (e.g., “myblog.com”)
- Important: Check “Add a README file”
Create a GitHub personal access token:
- Go to Settings → Developer settings → Personal access tokens
- Generate a new token with ‘repo’ and ‘workflow’ permissions
- Save this token somewhere safe - you’ll need it soon
2. Deployment Setup
Head over to Netlify and:
- Click “Import an existing project”
- Choose GitHub as your provider
- Select your new repository
- Leave build settings empty - Publii handles this
- Deploy the site
3. Domain Configuration
Buy your domain (I like Namecheap for their straightforward DNS management), then:
In Namecheap’s Advanced DNS settings, add:
- An A Record pointing @ to Netlify’s IP
- A CNAME Record pointing www to your Netlify URL
In Netlify:
- Add your custom domain
- Wait for SSL certificate (usually 15 minutes)
4. Connecting Everything
Now for the fun part - open Publii and:
- Create a new site
- Go to Server Settings
- Choose GitHub Pages
- Enter your details:
- Website URL: Your domain
- GitHub username/organization
- Repository name
- Branch: main
- Paste your GitHub token
Click “Test Connection” - you should see a success message!
Writing Your First Post
With everything connected, writing is straightforward:
- Create a new post in Publii
- Write your content (Publii supports Markdown!)
- Hit “Sync & Deploy”
On the free Netlify plan, this usually takes a few minutes.
Pro Tips
Preview Locally: Always preview posts before publishing. Publii’s preview is exactly what you’ll see live.
Images: Let Publii optimize your images. It automatically creates responsive versions.
Backup: Your content lives on your computer and GitHub. Double safety!
Updates: Update Publii regularly - they’re always adding features.
Why This Matters
Traditional WordPress hosting can cost $10-30 monthly, not counting backup solutions or CDN services. This stack gives you:
- ✓ Automated backups (via GitHub)
- ✓ Global CDN (via Netlify)
- ✓ Instant deployments
- ✓ Zero monthly costs
- ✓ No security updates to manage
All while being faster and more secure than a traditional CMS.
What’s Next?
Now that your blog is running smoothly, consider:
- Setting up Google Analytics (Netlify makes this easy)
- Creating a content calendar
- Exploring Publii’s SEO tools
- Adding a newsletter signup
Remember: the best blog is one you’ll actually write for. This setup removes technical barriers, letting you focus on what matters - your content.
Have questions about this setup? Drop a comment below or reach out on Twitter. I love seeing what people build with this workflow!