This blog just matured into the age of dockerized deployments, headless CMS and decentralised services. This is the new stack:
- NextJS server side rendered React app, hydrated with content from the sanity.io API
- Served by NodeJS Express
- Hosted as a Docker container on Zeit's Now (including DNS) (15$/month)
- Emails forwarded via mailgun (0$)
- Both the NextJS Frontend and Backend parts are written in TypeScript
- Sanity.io's React app
- Deployed on sanity.studio (0$)
- webstack.io (0$)
As opposed to the previous solution (using a self-hosted WordPress on cyon.ch), this has multiple advantages:
- No longer worrying about anything related to WordPress
- I can do whatever the hell I want with it and can rely on a state of the art frontend framework
- Easy staging with Now deployments
Well, it's a far more complex setup than traditional server side rendered approaches, like a classic LAMP stack. The whole thing depends on 3 different cloud services. I do realise that I might aswell add all of this in plain text file and get about the same UX. ;) But that's not the point!
"But .. back to basics? Isn't that at least a small business or startup setup for a blog nobody reads? U MAD?!"
Let me explain: I started off writing my own one-liner in PHP, I wrote my own little blog app, I used about 4 different PHP blog platforms since 2001 or two .. the more I was depending on third party applications, the less fun it was to fiddle around with things on a basic level.
But for me .. that's kinda what I want to do in the first place. Just give me enough abstraction and a few tools so I can put together my own damn thaang and I'm a happy camper.