Elena' s AI Blog

MLOps & Deployment Series

Elena Daehnhardt

Midjourney AI-generated art
Image credit: Illustration created with Midjourney, prompt by the author.
Image prompt

“An illustration representing cloud computing”

MLOps & Deployment

This series covers the deployment side of building with AI — Docker and Docker Compose, CI/CD, cross-platform runtimes, and the infrastructure plumbing that moves a project from localhost to a running service.

Series Progress

5 of 9 posts published


All Posts in This Series

Part 1: My Docker Needed Some TLC

A practical Docker troubleshooting guide for macOS: stalled BuildKit, cache pressure, startup failures, and safe recovery steps.

My Docker Needed Some TLC

Part 2: Docker Permissions Without Panic: Why I Ran chown Inside My Container

Why a Flask container throws Permission denied when it runs as a non-root user, and how to fix ownership properly with chown instead of chmod 777.

Docker Permissions Without Panic: Why I Ran chown Inside My Container

Part 3: Docker Compose with Flask and Redis: A Working Two-Container Example (and a LlamaGPT Case Study)

Coming Soon

A working two-container Docker Compose example with Flask and Redis, the macOS port and volume gotchas I ran into, and what LlamaGPT's compose files teach about service discovery.

This post is currently being written and will be published soon.

Docker Compose with Flask and Redis: A Working Two-Container Example (and a LlamaGPT Case Study)

Part 4: From Localhost to Live

A Docker Compose stack that works on your laptop is not yet a deployment. This post takes a complete Flask, FastAPI, Celery and Redis example from a blank Vultr server to HTTPS, with a check after every layer and a plan for updates, backups and the day something breaks.

From Localhost to Live

Part 5: Caching Docker Compose Builds with BuildKit

A practical BuildKit guide for Docker Compose: cache mounts, Dockerfile ordering, and reproducible fast rebuilds.

Caching Docker Compose Builds with BuildKit

Part 6: ONNX Runtime: Cross-Platform AI Model Deployment Made Easy

Coming Soon

Convert and deploy ML models with ONNX Runtime, then optimize for CPU/GPU/edge with a repeatable inference pipeline.

This post is currently being written and will be published soon.

ONNX Runtime: Cross-Platform AI Model Deployment Made Easy

Part 7: Docker Compose CI/CD with GitHub Actions: A Reliable Flask Workflow

Tests that only run on your laptop tell you very little about what ships. This post builds a Docker Compose CI/CD pipeline for a small Flask and PostgreSQL app: every pull request is tested against a real database, every merge publishes the exact image that passed, and that image is deployed to a VPS by its digest, behind an approval gate, with an automatic rollback if the new release will not start. Every file you need is in the post.

Docker Compose CI/CD with GitHub Actions: A Reliable Flask Workflow

Part 8: Configuring DNS for Email

Coming Soon

A practical DNS-email setup guide with SPF/DKIM/DMARC configuration, validation steps, and rollout safety checks.

This post is currently being written and will be published soon.

Configuring DNS for Email

Part 9: DNS Made Easy

Coming Soon

A practical DNS setup guide covering A/CNAME/MX/TXT/SPF basics plus validation and common misconfiguration recovery steps.

This post is currently being written and will be published soon.

DNS Made Easy

Getting Started

New to this series? Start with Part 1: My Docker Needed Some TLC.

Each post builds on the previous one, so reading them in order is recommended. Each post also works on its own if you need to jump to a specific topic.

All Posts