How I Update and Deploy this Site
5th Sep '23 • 2 of your Earth minutesI love a good CMS. I don't like how slow they can be to load pages. A sudden spike in traffic and even a rapid CMS can cause an unprepared server to grind to a halt.
I used to love running my own servers, but I don't have the time to do it for my personal site - I just want it to be as fast as possible for as many people as possible.
As you may know, Statamic is my go-to CMS. It's excellent and provides more than enough for my needs. For personal sites (like this one), it's free, which is awesome (though I sponsor them to help keep it maintained).
The CMS itself only runs on my local machine. I write all content in Markdown (with a sprinkling of HTML and Javascript when necessary). I only make things when I need them.
Running the CMS locally means I'm not dependent on the network to write and everything feels super zippy.
I like to stay in the CMS, so I use Gitamic to make commits and push changes up to GitHub.
The whole code for the site is open source and available on GitHub.
The site itself is hosted on Netlify, which is free for my uses - with plenty of bandwidth - and generally fast for everyone. The only issue is that Netlify needs to serve a static site.
Thankfully, Statamic provides a static site generator & Netlify allows PHP projects to be built using their Builds.
So when I make a change on my laptop, commit it and push it up to GitHub, Netlify picks up the new commits and spins up a container to build the site and it then deploys the build.
Because all of the content for the site is stored in files, everything is in git, which means everything is on GitHub and available to Netlify for the build.
This is, for now, my ideal combination of simple and flexible.