ProjectBuild an AI-Powered Digital Bank with RAG: the explanation · Module 17: Containers, the Dockerfiles and the local stack · part 19 of 20
Part 19 · Module 17: Containers, the Dockerfiles and the local stack

Module 17: Containers, the Dockerfiles and the local stack

23 min read·
About 40 minutes · Needs: Module 16 (running it locally), Module 8 (the ingestion worker) · Code: backend/Dockerfile, frontend/Dockerfile, frontend/nginx.conf.template, docker-compose.yml

Where this fits

WHERE THIS FITS The Kestrel Bank system this module CLIENT API LAYER FastAPI SAFETY AGENT LangGraph MODELS RETRIEVAL DATA AND INGESTION Postgres, Redis QUALITY Langfuse Customer app React Admin app React FastAPI REST + streaming Auth + RBAC tokens, roles Document upload admin only, checked Guardrails injection, PII Router small or large Agent LangGraph Banking tools ledger, transfers LLMs Groq, Gemini Retrieval hybrid + rerank Ingestion parse, chunk, embed PostgreSQL + pgvector ledger, chunks, state Redis limits, queue Observability Langfuse, metrics, logs Evaluation golden set, release gate
Containers package the web app, the API, the ingestion worker, Postgres and Redis (blue: what this module runs).

Every highlighted box runs inside a container. Module 16 covered running it locally in one paragraph; here we read every line of both Dockerfiles, the nginx template and the compose file, and see why the same images later run in the cloud unchanged.

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