Architecture

A classic, deliberately simple web app: one Django server, one database, no extra services such as Redis or Celery.

Browser PC, tablet, phone on the home network
HTTPS on the intranet
nginx in the package · intranet host name and TLS
HTTP on localhost
Django gunicorn (gthread), Django 5.2
  • chat – views, streaming (SSE)
  • providers – one adapter per provider planned (M3–M4)
  • mcp – tool loop planned (M4a)
Worker process indexes documents, same database planned (M7)

Django (and the worker) connect to:

  • SQL
    PostgreSQL + pgvector accounts, chats, vectors for RAG
  • HTTPS to the internet
    Provider APIs OpenAI, Anthropic, Google, Mistral, OpenRouter … planned (M3–M4)
  • HTTP on the intranet
    LM Studio PC on the home network, only online at times planned (M4)
  • tool calls
    MCP servers local (stdio) or via Streamable HTTP planned (M4a)
How MultiGPT is put together. Everything except the provider APIs runs in your own home network. Marked parts are planned.

The building blocks

Network and security

Tech

AreaChoice
LanguagePython 3.12+ (Debian 13: 3.13)
FrameworkDjango 5.2 LTS
App servergunicorn (gthread)
DatabasePostgreSQL with pgvector
Web server and TLSnginx (in the Debian package)
Static filesnginx in the package, WhiteNoise in Docker and development
Login throttlingdjango-axes
PackagingDebian package with dh-virtualenv, systemd; Docker as a fallback