{"slug": "your-self-hosted-ai-stack-probably-needs-one-process-not-six", "title": "Your self-hosted AI stack probably needs one process, not six", "summary": "A developer argues that self-hosted AI assistants for small households or teams are over-architected, typically running six services when one process would suffice. The writeup highlights TencentCloud's Octop, which serves its web dashboard, CLI backend, chat channels, and cron scheduler from a single process with no message broker, rebuilding all runtime state from a SQLite control-plane database on boot. The author notes the approach has real limits, including a single failure domain and a user ceiling beyond which it becomes a bottleneck.", "body_md": "Open the compose file for almost any self-hosted AI assistant. You will find an app container, Redis for the queue, Postgres for state, a worker, usually a vector database, often a reverse proxy.\n\nSix services. For a household of five.\n\nThen ask what that architecture is actually buying you at that scale. The queue exists so work survives a restart and so you can scale workers horizontally. You are not scaling workers horizontally. You have one box under a desk.\n\nA broker earns its place when producers and consumers scale independently, when work must survive the process that accepted it, or when several services need the same event. Those are real problems at real scale.\n\nAt five users, none of them apply, and you have paid for all of them anyway. Six services is six things that can fail, six sets of logs, six version upgrades, and a debugging experience where a symptom in the UI has its cause three hops away in a container you were not looking at.\n\nTencentCloud's Octop takes the other branch. One process serves the web dashboard, the CLI backend, every chat channel and the cron scheduler. No broker. Every surface routes through one in-process handler, and the entire runtime state is rebuilt from a SQLite control-plane database on boot.\n\nThat last clause is the part doing the work. Restart-safety usually comes from durable queues plus careful shutdown handling. Here it comes from the process holding no authoritative state at all. Kill it however you like. On boot it reads the database and reconstructs itself. There is nothing in memory worth preserving, which is a much stronger property than preserving it well.\n\nThe reflex is that SQLite is the starter option you outgrow. For a concurrent-reader, low-concurrent-writer workload on one machine, it is simply the correct choice. No connection pool, no second daemon, no tuning, and your backup is a file copy.\n\nOctop offers Postgres as an option rather than an assumption. That ordering is the tell that someone thought about the actual workload instead of copying a reference architecture.\n\nSay the limits out loud, because they are real. One process is one failure domain. You cannot put the chat gateway on one box and the agent runtime on another. There is a user count past which this stops being clever and starts being a bottleneck.\n\nFor a household or a team of five, that ceiling is theoretical and the operational simplicity is banked every single day. For fifty concurrent users it is the wrong shape.\n\nThe practical version: before you self-host anything with remote access, your upload bandwidth decides whether it is usable at all, and a [speed test](https://www.devpik.com/network-tools/speed-test) answers that faster than finding out later.\n\nFuller write-up, including two caveats worth knowing before you run the installer: [Octop](https://www.devpik.com/open-source/octop).", "url": "https://wpnews.pro/news/your-self-hosted-ai-stack-probably-needs-one-process-not-six", "canonical_source": "https://dev.to/itxtayab/your-self-hosted-ai-stack-probably-needs-one-process-not-six-3h53", "published_at": "2026-09-19 12:03:01+00:00", "updated_at": "2026-09-19 12:24:35.932949+00:00", "lang": "en", "topics": ["ai-tools", "ai-infrastructure", "ai-agents", "developer-tools"], "entities": ["TencentCloud", "Octop", "SQLite", "Postgres", "Redis"], "alternates": {"html": "https://wpnews.pro/news/your-self-hosted-ai-stack-probably-needs-one-process-not-six", "markdown": "https://wpnews.pro/news/your-self-hosted-ai-stack-probably-needs-one-process-not-six.md", "text": "https://wpnews.pro/news/your-self-hosted-ai-stack-probably-needs-one-process-not-six.txt", "jsonld": "https://wpnews.pro/news/your-self-hosted-ai-stack-probably-needs-one-process-not-six.jsonld"}}