Host Your Blog for Free with Hugo, GitHub, Netlify and Cloudflare
My blog is powered by Hugo (this is one of the most popular open-source static site generators built in go). The source code is hosted on Github, and Netlify built, deployed & hosted my Blog just Below CloudFlare who provides SSL certificate and manage the DNS of my domain goheroe.org. Of course everithing for free :)
What is Hugo
Hugo is an open-source static site generator built in go. This is very easy to write posts/pages: you just have to write a post/page with MarkDown syntax and build it with hugo with a nice theme … and voila.
Hugo is provided with a built-in webserver, so when you are writing something, hugo detecting changes in your content and automatically regenerates your blog and refreshes your browser.
For more information visit the Hugo Website
What is Netlify
Netlify is an all-in-one hosting platform for deploying and automating modern static web site. YOu just have to push your content and Netlify provides everything : servers, CDN, continuous delivery, one click HTTPS, staging environments, prerendering, asset post processing, DNS, and more …
I used the Bronze plan for Free
For more information visit the Netlify Website
What is CloudFlare
Cloudflare is designed to accelerate and secure any website. The traffic is routed through CloudFlare global network and automatically optimize the delivery with CDN, block threats and limit abusive bots and crawlers from wasting your bandwidth and server resources. They can also manage DNS, provide SSL certificate for free and a lot of very nice features.
I used the free plan
Setup of Cloudflare
To use Cloudflare with Netlify, you’ll need to do some configuration :
- go to Cloudflare console
- Set the A record address for ‘*’ to 220.127.116.11
- Change the CNAME ‘www’ alias to be
To enable SSL certificate, you’ll need to do some configuration :
- go to Cloudflare console
- switch on SSL to flexible
Setup of Netlify
Check the hugo documentation and follow the instructions
To deploy my Blog this is very simple, i just have to push my code on GitHub and everything is magic, my Blog is automaticaly built and deployed on Netlify in less than 30 seconds.
Automatic Build and Deploy on Netlify
List of my deploy on Netlify
12:26:00 AM: Build started 12:26:01 AM: Fetching cached dependencies 12:26:01 AM: Starting to download cache of 37.7MB 12:26:02 AM: Finished downloading cache in 426.793113ms 12:26:03 AM: Preparing Git Reference refs/heads/master 12:26:07 AM: Found netlify.toml. Overriding site configuration 12:26:07 AM: Running build command: hugo 12:26:10 AM: v6.11.2 is already installed. 12:26:11 AM: Now using node v6.11.2 (npm v3.10.10) 12:26:11 AM: Using version v6.11.2 of node 12:26:11 AM: Using /opt/buildhome/.rvm/gems/ruby-2.1.2 12:26:11 AM: Installing pip dependencies 12:26:12 AM: Collecting Pygments==2.1.3 (from -r requirements.txt (line 1)) 12:26:12 AM: Downloading Pygments-2.1.3-py2.py3-none-any.whl (755kB) 12:26:12 AM: Installing collected packages: Pygments 12:26:12 AM: Successfully installed Pygments-2.1.3 12:26:12 AM: Pip dependencies installed 12:26:12 AM: Installing Hugo 0.26 12:26:13 AM: Started building sites ... 12:26:13 AM: Built site for language en-us: 0 of 6 drafts rendered 0 future content 0 expired content 5 regular pages created 52 other pages created 0 non-page files copied 23 paginator pages created 0 archives created 17 tags created 4 categories created total in 325 ms 12:26:13 AM: Saved Cache Directory 12:26:13 AM: Build complete: exit code: 0 12:26:13 AM: Cleaning up docker container 12:26:13 AM: Starting to deploy site from 'public' 12:26:14 AM: Deploying to CDN 12:26:15 AM: Finished deploying 3 files in 1.211482755s 12:26:15 AM: Cleaning up the repository 12:26:15 AM: Bundling and saving cache 12:26:16 AM: Starting post processing 12:26:16 AM: Post processing done 12:26:17 AM: Site is live 12:26:21 AM: Finished uploading cache in 822.91592ms 12:26:22 AM: Finished processing build request in 21.298122325s