Torna al blog
AI AgentsDockerSelf-Hosting

AI Agent Self-Hosted in Docker: Guida Pratica 2026

Come eseguire un AI agent self-hosted in Docker senza perdere un weekend intero. Architettura, trade-off e le opzioni che funzionano davvero nel 2026.

Di Hermify Team||10 min di lettura
Un terminale scuro che mostra un comando docker compose up che avvia un container con un AI agent e un indicatore di stato verde

Perché Docker è il Modo Standard per Eseguire un AI Agent Self-Hosted

Se hai deciso di volere un AI agent sulla tua infrastruttura invece di pagare un abbonamento mensile a un SaaS, Docker è quasi certamente il modo in cui lo eseguirai. Nel 2026 ogni runtime open-source serio per agenti include un Dockerfile o un docker-compose.yml. Questo approccio si è affermato perché i container risolvono quattro problemi contemporaneamente che emergono nel self-hosting di un agent: la versione del runtime Python o Node, le dipendenze di sistema per audio o visione, la superficie di rete da esporre ai webhook di Telegram o Slack, e lo stato persistente (un database e un vector store) di cui l'agent ha bisogno tra un riavvio e l'altro.

Questo post illustra come appare concretamente nel 2026 eseguire un AI agent self-hosted in Docker: l'architettura, le piattaforme che vale la pena conoscere, i trade-off a cui vai incontro e la configurazione più economica che sopravvive a un riavvio. È scritto per chi ha già usato Docker ma non ha ancora scelto uno stack per agenti.

Cosa Significa "AI Agent Self-Hosted" in Pratica

L'espressione copre una gamma molto ampia di prodotti. Prima di scegliere un'immagine Docker, separali in tre categorie.

Workflow agent sono piattaforme visuali o low-code in cui colleghi blocchi per comporre un agent. n8n, Dify e Flowise sono gli esempi classici. Girano come web app a cui accedi con il browser, e l'agent è un workflow che crei e avvii. Ottima scelta se vuoi una GUI e oltre 400 integrazioni pronte all'uso.

Framework code-first sono librerie su cui scrivi codice Python o TypeScript. LangChain o LangGraph, AutoGen, CrewAI e l'OpenAI Agents SDK appartengono a questa categoria. Distribuisci il tuo codice come immagine Docker. Ottima scelta se sei uno sviluppatore che vuole controllo totale sul prompt, sugli strumenti e sulla macchina a stati.

Runtime agent sono agenti pre-costruiti che self-hosti e colleghi alla tua app di messaggistica preferita (Telegram, Slack, WhatsApp, Signal, email). Hermes Agent, OpenHands e Agent Zero ne sono esempi. Non scrivi tu il loop dell'agent: è già incluso. Porti una chiave API, porti un server e ci parli dal telefono.

La configurazione Docker è simile per tutti e tre. Le differenze stanno in ciò che metti attorno al container: un database per la memoria persistente, un vector store per la ricerca semantica e un ricevitore di webhook per l'app di messaggistica che colleghi.

Un'immagine in stile diagramma che mostra un container Docker con frecce verso un database Postgres, un vector store e un webhook Telegram

L'Architettura di Riferimento

Quasi ogni AI agent self-hosted in Docker finisce per assomigliare a questo:

Componente Immagine tipica Cosa fa
Runtime agent Immagine custom o ghcr.io/<project>/<agent> Il loop dell'agent: riceve l'input, chiama l'LLM, esegue gli strumenti
LLM gateway ollama/ollama in locale, o API esterna Il modello stesso, o un proxy verso OpenAI / Anthropic / OpenRouter
DB relazionale postgres:16 Conversazioni, stato utente, job schedulati
Vector store qdrant/qdrant o pgvector dentro Postgres Memoria a lungo termine, ricerca semantica, RAG
Reverse proxy traefik o caddy Terminazione TLS, routing dei webhook
Adattatore di messaggistica Dentro l'immagine dell'agent Connettori per Telegram, Slack, Discord, WhatsApp, Signal

Non ti serviranno tutti i livelli. Se il tuo agent è solo testo e usa un'API LLM esterna, puoi saltare Ollama. Se la tua app di messaggistica usa il long-polling invece dei webhook (Telegram li supporta entrambi), puoi saltare il reverse proxy. Lo stack minimo su un singolo VPS da $5 è il runtime dell'agent più Postgres, con il modello chiamato tramite API esterna. Sono circa tre o quattro container in un unico docker-compose.yml.

Un docker-compose.yml Minimale

Per la maggior parte degli agenti personali o di piccoli team, questa è la forma del file Compose. Sostituisci your-agent-image con il runtime che hai scelto.

services:
  agent:
    image: your-agent-image:latest
    restart: unless-stopped
    environment:
      DATABASE_URL: postgres://agent:agent@db:5432/agent
      MODEL_PROVIDER: openai
      OPENAI_API_KEY: ${OPENAI_API_KEY}
      TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
    depends_on:
      - db
    ports:
      - "127.0.0.1:8080:8080"

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: agent
      POSTGRES_PASSWORD: agent
      POSTGRES_DB: agent
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data:

Tre cose da tenere a mente. La porta dell'agent è associata a 127.0.0.1 invece di 0.0.0.0 perché un webhook di messaggistica pubblico dovrebbe arrivare attraverso un reverse proxy che termina il TLS, non direttamente su una porta raw del container. I segreti vivono in un file .env accanto al file Compose (e non vanno mai nel repository git). Il volume di Postgres è nominato in modo che Docker Compose lo preservi tra i riavvii: se perdi quel volume, perdi la memoria del tuo agent.

Le Opzioni che Vale la Pena Conoscere nel 2026

Ecco la lista breve degli stack open-source per agenti che distribuiscono immagini Docker e hanno slancio nel 2026.

Progetto Tipo Licenza Integrazioni di messaggistica Note
Hermes Agent Runtime MIT Telegram, Slack, Discord, WhatsApp, Signal, email Memoria persistente, provider modello BYOK, creazione autonoma di skill
n8n Workflow Sustainable Use 400+ tramite nodi Builder visuale di workflow, ampio catalogo di integrazioni
Dify Workflow Apache 2.0 Web UI, widget incorporabili RAG-first, orchestrazione dei prompt, monitoraggio integrato
Flowise Workflow Apache 2.0 Web UI, nodi REST/Slack/Telegram LangChain drag-and-drop
LangGraph Framework MIT Quello che colleghi tu Code-first, grafi di stato avanzati
AutoGen Framework CC-BY 4.0 (Microsoft) Quello che colleghi tu Conversazione multi-agent
OpenHands Runtime MIT Web UI, IDE Agent per ingegneria del software in Docker sandboxed
Agent Zero Runtime MIT Web UI, terminale Agent autonomo per l'uso del computer

La distinzione è importante perché la scelta giusta dipende da cosa vuoi fare con l'agent. Una piattaforma workflow è la scelta giusta se vuoi automatizzare un processo aziendale con 14 step e 5 API esterne. Un framework è la scelta giusta se stai costruendo un prodotto personalizzato. Un runtime è la scelta giusta se vuoi un agent personale che vive sul tuo telefono tramite un'app di messaggistica e ti ricorda.

Per il caso d'uso di agent personale incentrato sulla messaggistica, Hermes Agent si confronta direttamente con n8n sul lato workflow e con LangChain sul lato framework.

I Veri Trade-Off

Il self-hosting in Docker non è gratuito, anche se i binari lo sono. La lista onesta dei trade-off nel 2026:

Sei responsabile dell'uptime. Un provider di agent gestito monitora i processi, riavvia i container crashati e sveglia qualcuno alle 3 di notte quando una release rompe la produzione. Su un VPS self-hosted sei tu a farlo, anche se hai configurato restart: unless-stopped. Docker riavvia i container; non ripara un volume Postgres corrotto o un token del bot Telegram scaduto.

Sei il proprietario dei dati, in modo completo. Questo è il vantaggio che rende i trade-off convenienti per la maggior parte dei lettori. Le tue conversazioni, le note sui clienti, la tua lista contatti: nulla passa per terze parti tranne il provider LLM che scegli. Gli utenti UE che girano su un VPS UE ottengono la residenza dei dati GDPR senza burocrazia. Chi opera in ambito sanitario o contabile su hardware che controlla ottiene una risposta difendibile alla domanda "dove vivono i dati".

Sei responsabile del costo del modello. Usare la propria chiave API (BYOK) costa tipicamente pochi dollari al mese per un agent personale, invece dei $20+ che un equivalente hosted comporta. Il rovescio della medaglia è che devi ricaricare il saldo di OpenAI o Anthropic e tenerlo d'occhio.

Sei responsabile degli aggiornamenti. Fare il pull di un'immagine più recente è un comando solo, ma leggere il changelog e migrare lo schema del database non lo è. Pianifica una finestra di 15 minuti ogni qualche mese.

Non sei proprietario dell'LLM. A meno che tu non esegua Ollama o vLLM in locale su una GPU, il modello stesso è ancora una chiamata API a OpenAI, Anthropic, Google, Mistral, o un aggregatore come OpenRouter. Nel 2026 "self-hosted" di solito significa runtime self-hosted, non pesi self-hosted. Va bene così: il runtime è dove vive il 90% della sensibilità dei dati.

Se questi trade-off ti sembrano accettabili, il vantaggio è concreto. L'infrastruttura self-hosted mostra una riduzione del costo totale di proprietà di circa il 55% in 18 mesi rispetto a SaaS equivalenti, con vantaggi di latenza nell'ordine di 18 ms quando il modello è anch'esso locale. Per la maggior parte dei lettori il vantaggio economico arriva prima, intorno al terzo mese.

Come Appare la Configurazione Più Economica

Una baseline pratica per il 2026 per un agent self-hosted per uso personale:

  • Un VPS da $5 a $10 al mese (Hetzner, Vultr, Contabo) con 2 GB di RAM
  • Docker e Docker Compose installati
  • Un reverse proxy (Caddy è il più semplice per il TLS automatico) sulla porta 443
  • Un container con il runtime dell'agent, un container Postgres
  • Una chiave API per un modello ricaricata con $5 a $10
  • Un bot di messaggistica (un bot Telegram è il più rapido da configurare)

Costo mensile totale: circa $7 a $20 in base all'utilizzo, di cui $4 a $10 sono token API e il resto è il VPS. La configurazione richiede da 15 a 30 minuti se hai già usato Docker; si avvicina a una serata se non l'hai mai fatto. Il calcolo per il dimensionamento del VPS è nel nostro post dedicato al VPS economico per AI agent, e il confronto dei costi tra self-hosted e managed è qui.

Un workspace scuro e ordinato di notte con un laptop che mostra output da terminale e un telefono con una bolla di messaggio verde da un AI agent self-hosted

Quando il Self-Hosting è la Risposta Sbagliata

Una lista breve di casi in cui il percorso Docker è lo strumento sbagliato.

  • Hai bisogno di zero coinvolgimento operativo e il tuo team non tollera alcun downtime. Paga per un runtime gestito.
  • Vuoi SLA da vendor e un numero di telefono da chiamare. Managed.
  • Hai meno di un'ora di pazienza per la configurazione iniziale. Managed.
  • Il tuo agent deve scalare elasticamente a migliaia di utenti concorrenti domani. Un runtime managed su Kubernetes vale il costo premium.

Per tutti gli altri, fondatori solo, sviluppatori indie, piccole aziende, professionisti attenti alla privacy, hobbisti, Docker su un piccolo VPS è il percorso con il miglior rapporto tra controllo e tempo di configurazione.

Dove si Inserisce Hermes

Hermify è un runtime per AI agent self-hosted con licenza MIT che distribuisce un'immagine Docker. Porti la chiave del tuo provider di modelli (OpenAI, Anthropic, OpenRouter, Mistral o altri), esegui il container su un VPS o sulla tua macchina, e ci parli attraverso Telegram, Slack, Discord, WhatsApp, Signal o email. Mantiene la memoria persistente tra le conversazioni, impara skill riutilizzabili dal tuo utilizzo e non ti disturba il resto del tempo. È un'opzione tra i runtime elencati sopra; capita che sia quella che manteniamo noi.

Se la forma di agent personale sul telefono è quello che cerchi e hai un'ora per mettere un container Docker dietro un reverse proxy, inizia con Hermify. Se preferisci saltare completamente il VPS e lasciare che siamo noi a gestirlo, il tier managed si occupa del container, di Postgres, del TLS e degli aggiornamenti, mentre tu mantieni la tua chiave del modello.

Fonti

Avvia il tuo Hermes Agent

Porta la tua chiave API, collega Telegram e ottieni un agente IA che migliora da solo, online in 60 secondi.

Inizia ora