I've been doing alot of api integrations and custom api stuff at work lately. It's been awhile since I've actually got to mess with any JS framework. So I decided to re-do my personal website. This time though I wanted to add a blog. Usually for something like this I'd just spin up a WordPress site, add a theme, customize it a bit and call it a day.
That would be easy, we don't like easy. Well let's be honest, sometimes we want easy, but not today. Being the Vue fan boy that I am, I decided to go with Nuxt as my framework of choice. Nuxt offers features like SEO with Server Side Rendering (SSR), pre-rendering and code splitting. Since I wanted a blog and I did not want to use WordPress. I decided to go with something headless and chose Cockpit to power my blog. You can read more about Cockpit here.
Lastly I decided to containerize everything via Docker. So I ended up with a 4 container stack. The Nuxt App container, the Cockpit cms container, the Mongo DB container, used by Cockpit and lastly a Traefik container to reverse-proxy and connect everything together. It's deployed to a Digital Ocean droplet.