← Retour au Blog

Architecture IA Auto-Hébergée : Dans le Home Lab d'un Ingénieur Platform & IA en 2026


← Retour aux Articles

A complete, end-to-end breakdown of the Talos, Cilium, ArgoCD, n8n, and PostgreSQL stack I run myself — not a demo, a real reference architecture.

Anas Rhimi
Anas Rhimi September 2026 • 6 min de lecture

I Run My Own AI Infrastructure: What a Full-Stack Platform + AI Engineer's Home Lab Looks Like in 2026

Synthèse Opérationnelle (BLUF) : A complete self-hosted AI + Kubernetes stack in 2026 needs five layers working together: an immutable OS (Talos), a kernel-level network layer (Cilium), a GitOps delivery mechanism (ArgoCD), an automation/agent layer (n8n with local LLMs), and a data layer that doesn't require a separate vector database (PostgreSQL + pgvector). Here's how they fit together in a stack I actually run.

Most "reference architecture" posts describe a stack someone built once for a conference talk. This one describes infrastructure I run continuously, on my own Proxmox homelab, because I don't trust advice I haven't personally operated under real conditions.

The Five Layers

┌─────────────────────────────────────────────┐
│  n8n (automation + AI agent orchestration)    │
├─────────────────────────────────────────────┤
│  PostgreSQL + pgvector (data + RAG storage)   │
├─────────────────────────────────────────────┤
│  ArgoCD (GitOps — Git is the source of truth) │
├─────────────────────────────────────────────┤
│  Cilium (eBPF networking + service mesh)      │
├─────────────────────────────────────────────┤
│  Talos Linux (immutable Kubernetes OS)        │
└─────────────────────────────────────────────┘
              Proxmox VE (bare metal)

Layer 1: Talos as the Foundation

Every node in the cluster runs Talos — no SSH, no package manager, API-driven upgrades. This is the layer that makes the rest of the stack low-maintenance: I'm not patching individual boxes, I'm applying declarative machine configs.

cluster:
  network:
    cni:
      name: cilium
  network:
    podSubnets: ["10.244.0.0/16"]

Layer 2: Cilium for Networking and Observability

Cilium handles CNI, network policy, and service-mesh capability without a sidecar per pod — critical on homelab-scale hardware where per-pod memory overhead actually matters. It also gives me L3–L7 visibility into what's talking to what, which matters more in a self-hosted environment than in a managed cloud where some of that is handled for you.

Layer 3: ArgoCD for GitOps Delivery

Nothing gets deployed by running kubectl apply by hand. Every change goes through Git, and ArgoCD reconciles the live cluster against it automatically:

syncPolicy:
  automated:
    selfHeal: true
    prune: true

This is what makes the homelab reproducible — if a node dies and gets rebuilt, the workloads come back exactly as declared, not as a snapshot of whatever manual tweaks accumulated over months.

Layer 4: PostgreSQL + pgvector for Data and RAG

One database handles both relational data and vector embeddings for the RAG pipelines I run against local LLMs. No separate vector database, no second system to back up and secure:

CREATE EXTENSION IF NOT EXISTS vector;
CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);

Layer 5: n8n as the Automation and Agent Layer

n8n sits on top of everything else, orchestrating workflows that call local LLMs (via Ollama), query the PostgreSQL/pgvector layer for RAG context, and — increasingly — expose specific workflows as MCP tools that AI agents can call directly. This is the layer where the other four become useful to an actual end user instead of just being well-architected infrastructure for its own sake.

Why I Run This Myself Instead of Just Writing About It

Every post on this site about Talos, Cilium, self-hosted LLMs, or GitOps drift comes from operating this exact stack, not from reading someone else's documentation. When I write that selfHeal: true actually reverts manual changes on the next reconciliation loop, it's because I've watched it happen on my own cluster after fat-fingering a kubectl edit. When I write that pgvector handles RAG workloads without a separate vector database, it's because that's the database serving my own automation workflows right now.

What I'd Change for a Production Client Deployment

A homelab can tolerate a single point of failure that a client's production environment can't. For client work, this same stack gets: multi-node control planes instead of one, automated backups off-site instead of local snapshots, and a proper secrets management layer (External Secrets Operator) instead of the shortcuts that are fine for a personal lab.

Recommandations Finales pour les Équipes d\'Ingénierie

This isn't a theoretical reference architecture — it's the actual stack behind this blog, my automation client work, and my own AI experiments. If you're evaluating whether to build something similar, every individual layer above has its own dedicated post on this site with the specific trade-offs, costs, and failure modes I've hit running it for real.

Need help implementing this? I help teams architect and scale this exact infrastructure. Explore my consulting and freelance services.

Besoin d'un accompagnement senior sur vos architectures Cloud & DevOps ?

J'interviens auprès des équipes d'ingénierie pour auditer, fiabiliser et optimiser les clusters Kubernetes, bases PostgreSQL et pipelines critiques.

Conseil Plateforme & Infrastructure

Besoin d'un accompagnement senior pour votre infrastructure ?

Des clusters Kubernetes bare-metal et Talos Linux à l'optimisation avancée de PostgreSQL et aux architectures IA souveraines, j'interviens directement avec vos équipes de production.