EmiBrain
Docker

Architettura container per il pilota Emisfera
Giobi + Puddu
12 marzo 2026

Dove siamo

  • Panella ha approvato (27 feb)
  • Review sicurezza superata (9 mar)
  • Dominio emibrain.it live
  • Oggi: definiamo l'architettura Docker
  • Prossimo: simulazione su server test

Tutto Docker.
Niente mele e arance.

Stack uniforme = manutenzione uniforme

Due nature

Container = Ambiente

  • Sacrificabile
  • Si ricostruisce in secondi
  • Python, git, tool brain
  • Preconfigurato nell'image

Brain = Dati

  • Insostituibile
  • Filesystem host
  • Versionato con Git
  • Sopravvive a tutto

Struttura target

Server Emisfera (fisico, on-premise) │ ├─ /var/emibrain/brains/ <-- HOST (git versioned) │ ├─ giobi/ │ ├─ puddu/ │ ├─ ricci/ │ ├─ franzini/ │ └─ shared/ <-- read-only (fase Prod) │ └─ Docker containers: <-- ON-DEMAND ├─ emibrain-admin (privilegiato) ├─ emibrain-ws-* (workspace utente) └─ emibrain-webssh (fase Beta)

Decisioni 1–4

  • D1 Tutto Docker — brain admin + workspace + servizi
  • D2 Alpha → Beta → Prod — infra, poi utenti, poi servizi
  • D3 Brain su host — dati su filesystem, montati come volume
  • D4 Container isolati — zero comunicazione, shared read-only

Decisioni 5–8

  • D5 Image minimali — default leggero, si scala per chi serve
  • D6 Cold start — container on-demand, ~3 sec spin up
  • D7 Monitoring custom — brain admin + dashboard HTML
  • D8 Rolling update — uno alla volta, rollback in 10 sec

Cold start lifecycle

Utente si collega Brain admin: spin up Monta brain Lavora Timeout → shutdown

Brain resta su host, intatto. Container muore, nessun dato perso.

Il Brain Admin

Container privilegiato con Docker socket. Il cervello dell'infrastruttura.

  • Crea workspace container
  • Monitora health + risorse
  • Aggiorna rolling update
  • Logga ogni azione (audit)

Domanda: Cosa vede dei brain altrui? Solo metadati o anche contenuto?

Domanda: Come ci parla Puddu? CLI? Chat? Pannello web?

Utenti Alpha

  • Giobi — consulente esterno, architettura + tutoring
  • Puddu — referente tecnico, root, gestisce infra
  • Ricci — PM, utente brain standard
  • Paola Franzini — CFO, tracking costi
  • Stagista — TBD

La Franzini non apre un terminale. Servirà WebSSH o alternativa per la Beta.

Da decidere

  • ? Specs server fisico
  • ? Connessione Efesto ↔ server Emisfera
  • ? Git: un repo per brain o mono-repo?
  • ? Chi fa commit? Automatico o manuale?
  • ? Backup: aggancio a sistemi Emisfera
  • ? Onboarding non-tecnici (Franzini)

Prossimi step

  • 1. Validare decisioni D1–D8 (oggi)
  • 2. Simulazione Docker su server test
  • 3. Dockerfile base + primo workspace
  • 4. Brain admin container funzionante
  • 5. SSH dentro un workspace con brain montato

EmiBrain

Alpha → Beta → Prod

talk.giobi.com/events/2026-03-12-emisfera-docker-architecture/