# NIS2 Agile - Accesso Database Hetzner

## Architettura Database

Il progetto usa **1 database dedicato**:

| # | Database | Tabelle | Stato |
|---|----------|---------|-------|
| 1 | `nis2_agile_db` | 21 tabelle (organizations, users, assessments, risks, incidents, policies, suppliers, training, assets, compliance_controls, evidence, audit_logs, ai_interactions, email_log, ...) | Attivo |

## Credenziali MySQL

| Risorsa | Valore |
|---------|--------|
| **Host** | `localhost` (dal server) / `135.181.149.254` (via SSH tunnel) |
| **Porta** | `3306` |
| **Utente** | `nis2_user` |
| **Password** | Vedi file `.env` (variabile `DB_PASS`) |
| **Charset** | `utf8mb4` |
| **Collation** | `utf8mb4_unicode_ci` |
| **Auth plugin** | `mysql_native_password` |

> **NOTA**: La password non e' documentata qui per sicurezza.
> Si trova nel file `.env` locale (non committato) e nel `.env` sul server.

## Connessione via SSH Tunnel

```bash
# Tunnel SSH (da terminale locale)
ssh -i docs/credentials/hetzner_key -L 3306:localhost:3306 root@135.181.149.254

# Poi connettiti a localhost:3306 con le credenziali sopra
```

## Connessione diretta (dal server)

```bash
# SSH al server
ssh -i docs/credentials/hetzner_key root@135.181.149.254

# Accesso MySQL
mysql -u nis2_user -p nis2_agile_db
```

## Schema SQL

Le migrazioni sono in:
- `docs/sql/001_initial_schema.sql` - Schema iniziale (20 tabelle)
- `docs/sql/002_email_log.sql` - Tabella email_log

## Deploy Path

| Risorsa | Valore |
|---------|--------|
| **Path Server** | `/var/www/nis2-agile/` |
| **URL Produzione** | `https://certisource.it/nis2/` |
| **Apache config** | `/etc/apache2/conf-available/nis2-agile.conf` |

## REGOLE CRITICHE

> **ATTENZIONE**: L'utente `nis2_user` ha accesso SOLO a `nis2_agile_db`.
>
> - **NON** tentare di accedere ad altri database sul server
> - **NON** modificare utenti, permessi o configurazioni MySQL
> - **NON** usare l'utente `root` per operazioni sul database
> - Il server ospita ALTRI applicativi con database separati: non toccarli MAI

## Altri database presenti (NON TOCCARE)

- `certisource_db` - CertiSource Pro
- `lg231_*` - 231 Agile (7 database)
- `allrisk_db` - AllRisk Agile
- `DFMDB` / `DFMDB_DEV` / `AGILE_DFM` - Agile DFM
- `ERP_DB` - ERP legacy
- `gitea_db` - Gitea
- `madeby_cloud_dev` - MadeBy Cloud

---

*Aggiornato: 2026-02-18*
