
Docker per IA On-Premise: da 3 Giorni a 15 Minuti
Il primo deploy on-premise di RAG Enterprise PRO è stato un disastro: 3 giorni di lavoro, conflitti di versioni Python, driver CUDA incompatibili, e un sistemista furioso. Poi abbiamo containerizzato tutto. Oggi facciamo deploy in 15 minuti netti.

Il Disastro del Primo Deploy On-Premise
Vi raccontiamo il nostro primo deploy on-premise perché crediamo che gli errori insegnino più dei successi. Il cliente era uno studio legale di Milano con 25.000 documenti riservati. Zero cloud — tutti i dati dovevano restare nel loro server fisico. Giorno 1: arriviamo con la nostra lista di dipendenze. Python 3.11, PyTorch 2.1, CUDA 12.1, più una ventina di librerie Python. Il server del cliente aveva Ubuntu 20.04 con Python 3.8 di sistema. Aggiornare Python ha rotto il loro tool di monitoraggio interno. Il sistemista non era contento. Giorno 2: risolto il casino di Python, ci siamo scontrati con i driver NVIDIA. Il server aveva driver 510, noi serviva il 535 per CUDA 12.1. L'upgrade dei driver ha richiesto un reboot del server che ospitava altri servizi. Giorno 3: tutto installato, ma sentence-transformers voleva una versione specifica di numpy che confliggeva con un'altra libreria del cliente. Alla fine funzionava, ma il processo era stato un incubo.
Docker Compose: Un File, Tutto il Sistema
Dopo quell'esperienza, abbiamo containerizzato ogni componente. Il nostro docker-compose.yml orchestra 5 servizi: il backend FastAPI, il frontend React (servito da nginx), Qdrant per il database vettoriale, Ollama per l'inferenza LLM locale, e un servizio di embedding dedicato. Il bello è che il cliente deve solo avere Docker installato e i driver NVIDIA. Stop. Non gli tocchiamo Python, non gli tocchiamo le librerie di sistema, non rischiamo di rompere nient'altro. Il deploy oggi funziona così: copiamo il docker-compose.yml e il file .env di configurazione, lanciamo "docker compose up -d", e in 15 minuti il sistema è operativo. I modelli AI vengono scaricati automaticamente al primo avvio. Il secondo deploy — uno studio commercialista a Roma — è andato liscio come l'olio. Il sistemista ci ha chiesto "tutto qui?".
GPU Passthrough e Sicurezza dei Container
La sfida più tecnica è stata far funzionare le GPU NVIDIA dentro i container Docker. Con il NVIDIA Container Toolkit, i container accedono direttamente alla GPU del host senza overhead misurabile. Abbiamo benchmarkato: la differenza tra inferenza bare-metal e containerizzata è dello 0.3%. I nostri clienti scelgono l'on-premise per un motivo: i dati non devono uscire dal perimetro aziendale. Docker ci aiuta a garantirlo. Ogni container ha la sua rete interna. Configuriamo il firewall Docker per bloccare tutto il traffico outbound. L'unica porta esposta è la 443 per HTTPS del frontend. I backup sono semplici: un cron job che fa docker exec su Qdrant per esportare gli snapshot, e un rsync dei volumi Docker su un NAS locale. Il cliente ha il controllo totale dei suoi dati, delle sue chiavi, e dei suoi backup. Nessun vendor lock-in.
Domande Frequenti sul Deploy con Docker
D: Servono competenze Docker avanzate per gestire RAG Enterprise PRO? R: No. Forniamo script di gestione che wrappano i comandi Docker. Il cliente usa comandi semplici come "rag-start", "rag-stop", "rag-backup". Sotto il cofano è Docker Compose, ma l'utente finale non deve saperlo. D: Quanto hardware serve per far girare tutto con Docker? R: Il minimo è: 16 GB RAM, 4 core CPU, GPU con 8 GB VRAM (tipo RTX 3060), 100 GB SSD. Con questo setup gestiamo fino a 30.000 documenti e 20 utenti contemporanei. D: Docker introduce overhead di performance rispetto a un'installazione nativa? R: Trascurabile. 0.3% di overhead sulla GPU inference e 1-2% sul network I/O. In cambio ottieni isolamento totale, deploy riproducibile e aggiornamenti senza downtime.
Servizi Correlati
Scopri come applichiamo queste tecnologie nei nostri progetti enterprise.
Interessato?
Contattaci per ricevere un preventivo personalizzato.
Securvita S.r.l. — i3k.eu