Skip to content

Per Iniziare

Prerequisiti

  • Docker e Docker Compose
  • Git

Avvio Rapido

  1. Clona il repository:
bash
git clone https://github.com/fabriziosalmi/nis2-public.git
cd nis2-public
  1. Crea il file di ambiente:
bash
cp .env.example .env

Modifica .env e imposta JWT_SECRET e NEXTAUTH_SECRET con valori casuali. Consulta Configurazione per tutte le variabili.

  1. Avvia la piattaforma:
bash
make dev

Questo comando compila e avvia tutti i servizi: PostgreSQL, Redis, FastAPI, Celery worker, Celery Beat e il frontend Next.js.

  1. Apri la dashboard:

Primi Passi

  1. Registra un account dalla pagina di login. La registrazione crea automaticamente un'organizzazione e ti assegna il ruolo di amministratore.
  2. Aggiungi asset: inserisci i domini o gli IP che vuoi scansionare.
  3. Avvia una scansione: seleziona uno o più asset e clicca su Avvia Scansione.
  4. Esamina i risultati nella dashboard. Ogni risultato (finding) è mappato a un articolo NIS2 e include gravità e indicazioni per la remediation.

Struttura del Progetto

nis2-public/
  packages/
    scanner/     # Scanner in Python (aiohttp, asyncio, dnspython, playwright)
    api/         # Backend FastAPI (REST API, definizioni task Celery)
    web/         # Frontend Next.js 15 (shadcn/ui, Tailwind CSS)
  infra/
    docker/      # docker-compose.dev.yml, docker-compose.prod.yml
  scripts/       # Helper per db seed e migrazioni
  docs/          # Questa documentazione (VitePress)

Comandi Make

ComandoDescrizione
make devAvvia tutti i servizi in modalità sviluppo
make dev-downFerma i servizi di sviluppo
make dev-logsMostra i log di tutti i servizi
make api-logsMostra i log del servizio API
make web-logsMostra i log del frontend
make db-migrate msg="desc"Genera una nuova migrazione Alembic
make db-upgradeEsegue le migrazioni del database
make db-seedPopola il database con dati di esempio
make testEsegue tutti i test (scanner + API)
make test-scannerEsegue solo i test dello scanner
make test-apiEsegue solo i test dell'API
make prodAvvia lo stack di produzione
make prod-downFerma lo stack di produzione
make cleanRimuove container, volumi e cache