This is by no means the “only” or “right” way to publish your writings, it’s what works for me. Start writing, and if you are a little technically inclined, make sure to own your data. Syndicate, don’t write, on platforms like Twitter, Facebook, or Medium.
No fancy auto-scaling-deploy JAMstack here, a simple static website with Jekyll. Rough ideas, written in plain HTML, go in the ‘_drafts’ folder. Why no Markdown you ask? Websites are published in HTML, not Markdown, and my blog posts are simple text documents. A few <p> and <a> tags are all that’s required. As a bonus I can easily add more complex markup. Once happy with the result the idea moves from the ‘_drafts’ to the ‘_posts’ folder and changes are pushed to GitHub (not really needed but serves as an extra backup). A Raketask builds the static version and rsync’s it to the server.
The server? A good ol’ VPS. No serverless, no Docker, no AWS. A netcup VPS running Ubuntu 20.04 with Apache and Let’s Encrypt for the TLS certificate. I SSH in every so often for the occasional apt get upgrade and reinstall the OS when a new Ubuntu LTS comes out.
I first rented a VPS at OVH, Digital Ocean next, and now netcup. Digital Ocean’s dashboard and support are top-notch but they don’t seem to be pushing for green energy datacenters. Netcup on the other hand is running on 100% renewable energy and supporting a European business is the cherry on the cake.
Managing a VPS for several years taught me a thing or two about Linux, networking, and web servers in general, useful skills for a web developer. The same server also doubled as a Card- and CalDAV, email, Mastodon, and database server over the years.
It’s more expensive than free but less expensive than being the product.
|Domain name||gandi||€14.52 per year|
|DNS||gandi||free, comes with the domain name|
|VPS||netcup||€2.26 per month|
|Total||€3.47 per month|
Not too shabby.
There you have it. It requires more maintenance than any of the fancy JAMstack solutions, but no more than 10 minutes per month or so and I don’t have to worry about vendor lock-in (there are tons of VPS providers), fully open source stack, extra flexibility (can host what I like), and I learned some new skills in the process.
Boring, sure, but it served me well for over 10 years.
This post is open source. Did you spot a mistake? Ideas for improvements? Contribute to this post via Github. Thank you!