ProjectBuild an Agentic Content Studio: the explanation · Module 19: Containers and the local stack · part 21 of 22
Part 21 · Module 19: Containers and the local stack

Module 19: Containers and the local stack

22 min read·
About 40 minutes · Needs: Module 3 (Ollama and the model settings), Module 4 (high-level design and the nginx front door), Module 11 (Chromium for render and measure) · Code: backend/Dockerfile, backend/docker-entrypoint.sh, frontend/Dockerfile, frontend/nginx.conf.template, docker-compose.yml, Makefile, .env.example

Where this fits

WHERE THIS FITS Slidesmith Studio this module BROWSER React FRONT DOOR AND API nginx, FastAPI BACKGROUND AGENTS LangGraph MODELS Ollama RENDERING Playwright DATA Postgres 17 OPERATIONS evals, Docker, Cloud Run Studio app React pages /render page same renderer nginx proxy, headers Auth sessions, CSRF Brand kit onboarding, uploads Projects deck spec, edits Job runner progress over SSE Research search, facts Strategist outline Designer slide JSON Check fit, else repair LangGraph pipeline state graph, JSON repair Ideas post ideas from pillars qwen3.8:27b Ollama, local GPU Web search Ollama API Chromium render, measure Exports PDF, PNG, ZIP, HTML PostgreSQL users, decks, jobs Uploads disk or GCS Evaluation suites, gate Insights usage, timings Containers Docker Compose Deploy Cloud Run, CI/CD
The containers (blue) package nginx, the API with Chromium, and PostgreSQL; the model (amber) stays on the host, outside every container.

Everything in the earlier modules has to run somewhere. Locally, one command starts three containers: PostgreSQL, the API with its own Chromium, and nginx serving the studio. The model stays outside, on the Mac, where it can use the GPU. This module opens the "Containers" box and shows how those pieces are built, started in the right order and wired together. The same two images go to Cloud Run in Module 20.

The rest of this project is yours to keep

This project is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan