Instructions to setup a custom domain and email addresses similar to this one.
Setup a user page on gitlab. This is very similar to github pages with the added benefit of being able to use any static site generator instead of being limited to jekyll. This will create your static website at
Buy a domain (I used namecheap). This is the only step that costs $$.
Change your DNS servers to cloudflare.
Create DNS records and setup TLS certificates. In my case, I setup
Arecords for both
Setup DNSSEC. I was intermittently facing DNS resolution issues in certain regions before setting this up.
To redirect all
Always use HTTPSunder the
Cryptotab on cloudflare. Also consider enabling
Automatic HTTPS Rewrites.
If you’d like to redirect
wwwrequests to the non-
wwwversion, create a cloudflare page rule. In my case, I’ve setup
*www.arpankapoor.com/*to permanently redirect (
HTTP 301) to
Setup your custom domain email addresses using Mailgun. It processes 10k messages per month for free, which is more than sufficient for my needs.
Thanks to gitlab, cloudflare and mailgun, you’ve now got your custom domain up and running with free hosting, TLS certificates and email!