Specifiche Infrastruttura Linux & Docker
Ambiente server, orchestrazione dei container e sicurezza di rete.
1. Panoramica
I componenti off-chain di WebGravity sono ospitati su ambienti Linux altamente ottimizzati configurati da Webtecnologie. L'infrastruttura è progettata per analisi di mercato a bassa latenza, utilizzando la containerizzazione Docker per modularità, resilienza e deployment rapido.
2. Architettura
L'architettura segue un pattern a microservizi. Ogni componente dello stack AI e Relayer è isolato all'interno del proprio container Docker, comunicando attraverso una rete Docker interna e sicura. Il sistema operativo host è un'istanza di Ubuntu Server rinforzata.
3. Componenti
- Ubuntu Server: L'OS di base, configurato con parametri kernel personalizzati per l'ottimizzazione della rete.
- Docker Engine & Compose: Orchestra i container, garantendo policy di riavvio e persistenza dei volumi.
- aaPanel: Un pannello di controllo web leggero utilizzato per gestire il proxy del frontend Next.js e i certificati SSL tramite Let's Encrypt.
- UFW (Uncomplicated Firewall): Blocca rigorosamente tutto il traffico in entrata eccetto le porte essenziali (80, 443 e SSH pesantemente limitato).
4. Flussi di Esecuzione
- Deployment: Il codice viene pushato nel repository sicuro. Una pipeline CI/CD costruisce le immagini Docker.
- Orchestrazione:
docker-compose up -davvia il frontend Next.js, l'AI Agent Python, il Relayer Node.js e il vector store ChromaDB. - Comunicazione Interna: L'Agente AI comunica con il Database Vettoriale tramite la rete bridge interna (172.x.x.x), completamente invisibile a internet.
- Reverse Proxy: Nginx (gestito via aaPanel) instrada il traffico HTTPS in ingresso esclusivamente al container del frontend Next.js.
5. Sicurezza
L'infrastruttura implementa internamente un modello zero-trust. Le chiavi API per i nodi RPC di Base e le chiavi private dei wallet (per il Relayer) vengono iniettate come variabili d'ambiente a runtime e non vengono mai salvate nel version control. L'accesso SSH è limitato a chiavi crittografiche Ed25519 e protetto da Fail2ban contro gli attacchi brute-force.
6. Definizioni e Glossario
- Docker Compose
- Uno strumento per definire ed eseguire applicazioni Docker multi-container utilizzando un file YAML.
- Reverse Proxy
- Un server posizionato davanti ai server web di backend che inoltra le richieste dei client. Utilizzato qui per instradare il traffico in modo sicuro al container frontend.
- Ed25519
- Un sistema di firma a chiave pubblica utilizzato per l'autenticazione SSH sicura, che offre prestazioni e sicurezza superiori rispetto alle tradizionali chiavi RSA.
7. FAQ Tecniche
Perché usare Docker per gli agenti AI?
Docker garantisce la consistenza dell'ambiente. Le dipendenze dei modelli AI (PyTorch, driver CUDA) sono notoriamente complesse; la containerizzazione assicura che l'agente giri identicamente sul server di produzione come sulla macchina dello sviluppatore.
Come sono protette le variabili d'ambiente?
Le variabili d'ambiente sono salvate in file .env crittografati sulla macchina host e passate esplicitamente ai container tramite il file `docker-compose.yml`. Non vengono mai esposte al processo di build del frontend a meno che non siano esplicitamente prefissate.