Launching the CodeMonkeyG Tech Blog
Welcome to my engineering notebook. Here is why I built this markdown-powered blog with Astro, containerized it in Docker, and what topics to expect.
Welcome to the CodeMonkeyG engineering blog!
For years, my web home at codemonkeyg.com has served as an interactive resume and showcase of my work as a Systems Architect and Founding Engineer. But as systems grow and architectures evolve, having a dedicated space to write in-depth technical breakdowns, share architectural post-mortems, and document hard-earned lessons has become essential.
Why Astro for Markdown Blogging?
When deciding how to build this blog, I evaluated several static site generators and frameworks. I chose Astro for several key reasons:
- Zero-JS by Default: Astro renders pure HTML/CSS by default. For content-heavy technical blogs, this yields unbeatable lighthouse scores, sub-second load times, and minimal resource usage.
- First-Class Markdown & Content Collections: Content collections provide strict TypeScript type safety for Markdown frontmatter at compile time, eliminating broken links or malformed metadata.
- Seamless Design Integration: By utilizing Tailwind CSS configured with the same color palette as the main CodeMonkeyG resume (
#0099ff,#ff9900, and#181818), the blog feels like an organic extension of the primary site. - Clean Subpath Routing: With Astro’s
base: '/blog'configuration, the blog lives cleanly under the/blogsubdirectory.
// astro.config.mjs
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
export default defineConfig({
site: 'https://codemonkeyg.com',
base: '/blog',
integrations: [tailwind()],
server: {
host: '0.0.0.0',
port: 4321,
},
});
Docker Architecture
Just like the main CodeMonkeyG site, the Astro blog runs inside Docker. An Nginx reverse proxy terminates SSL on the frontend and handles upstream traffic delegation:
- Root
/→ Served by containerized Nginx & PHP-FPM. - Subpath
/blog→ Reverse-proxied to the Astro container running on port4321.
“Simplicity is prerequisite for reliability.” — Edsger W. Dijkstra
What to Expect Next
Upcoming articles will dive into:
- Architectural patterns for high-concurrency systems
- Docker and container orchestration strategies
- Practical database optimization and caching layers
- Modernizing legacy enterprise software
Stay tuned, and feel free to reach out via LinkedIn or GitHub!
Giovanni Alvarez
15+ years building enterprise architecture, high-concurrency systems, and practical technology for businesses.