How I moved to a self-hosted instance of Ghost on Google Cloud Platform with a static frontend developed with Sapper, Svelte & Tailwind CSS deployed to Firebase.
I previously published my blog posts on Medium. A lot has already been said about why people migrate away from Medium (search results). With the changes rolled out in 2019, my visitor numbers dropped significantly and I started to look for an alternative where I can share my thoughts and experience to anyone who's interested.
All source code is available on Github.
As part of my research, I looked at static site generators, SaaS solutions and - for a brief moment - considered spinning up my own very basic blogging platform. Luckily, I noticed how valuable time is and abandoned the self-developed blogging platform idea.
Long story short, I found www.ghost.org. Their philosophy really closely aligns with my personal views and when I saw they offer an open source version, I was convinced.
The Ghost instance itself is deployed to Cloud Run (1), which spins up a Ghost container when I access the admin URL.
Upon publishing a new blog post, its content is persisted in Cloud SQL (2a) and any assets stored in Cloud Storage (2b). I open-sourced the storage adapter.