135 lines
2.9 KiB
Markdown
135 lines
2.9 KiB
Markdown
# Docker setup operativo Day0
|
|
|
|
Questo documento descrive lo stack Docker realmente usato nel repository operativo `netgescon-day0`.
|
|
|
|
## Obiettivo
|
|
|
|
Avviare solo l'applicativo NetGescon in container, lasciando fuori:
|
|
|
|
- MySQL esistente
|
|
- archivi gia presenti
|
|
- storage gia popolato, quando serve lavorare sui dati correnti
|
|
|
|
## Stack effettivo
|
|
|
|
Il file autorevole e `docker-compose.yml` nella root del repository.
|
|
|
|
Servizi inclusi:
|
|
|
|
- `app`
|
|
- `queue`
|
|
- `scheduler`
|
|
- `nginx`
|
|
- `redis`
|
|
- `mailhog`
|
|
|
|
Il wrapper operativo e:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh up -d --build
|
|
```
|
|
|
|
## 1) Configurazione locale
|
|
|
|
Creare il file `.env.docker.local` partendo da `.env.docker.local.example`.
|
|
|
|
Variabili minime da verificare:
|
|
|
|
- `APP_URL`
|
|
- `APP_PORT`
|
|
- `NETGESCON_DB_HOST`
|
|
- `NETGESCON_DB_PORT`
|
|
- `NETGESCON_DB_DATABASE`
|
|
- `NETGESCON_DB_USERNAME`
|
|
- `NETGESCON_DB_PASSWORD`
|
|
- `NETGESCON_STORAGE_PATH`
|
|
- `NETGESCON_CACHE_PATH`
|
|
- `RUN_MIGRATIONS`
|
|
|
|
Valori consigliati per lavorare sui dati esistenti:
|
|
|
|
```dotenv
|
|
RUN_MIGRATIONS=false
|
|
NETGESCON_STORAGE_PATH=./storage
|
|
NETGESCON_CACHE_PATH=./bootstrap/cache
|
|
```
|
|
|
|
Se gli archivi correnti sono gia presenti nella cartella `storage` del workspace, non serve alcun path esterno aggiuntivo: il container usera direttamente quello storage.
|
|
|
|
Se invece gli archivi stanno fuori dal repository, puntare `NETGESCON_STORAGE_PATH` al path host reale.
|
|
|
|
## 2) Validazione prima dell'avvio
|
|
|
|
Controllare che il compose risolva correttamente le variabili:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh config
|
|
```
|
|
|
|
Questo e il check piu economico per verificare:
|
|
|
|
- file env presente
|
|
- sostituzione variabili corretta
|
|
- bind mount storage/cache coerenti
|
|
- nessuna migrazione automatica indesiderata
|
|
|
|
## 3) Avvio stack
|
|
|
|
Avvio completo:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh up -d --build
|
|
```
|
|
|
|
Verifica container:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh ps
|
|
```
|
|
|
|
Log applicazione:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh logs app --tail=200
|
|
```
|
|
|
|
Log nginx:
|
|
|
|
```bash
|
|
bash docker/run-app-stack.sh logs nginx --tail=200
|
|
```
|
|
|
|
## 4) Accesso e collaudo
|
|
|
|
URL locale/staging base:
|
|
|
|
```text
|
|
http://localhost:${APP_PORT}
|
|
```
|
|
|
|
Collaudi minimi dopo l'avvio:
|
|
|
|
1. login Filament
|
|
2. pagina `Servizi / Utenze`
|
|
3. verifica righe FE acqua con riferimento unico `CBILL`
|
|
4. pagina `Acquisizione Documenti`
|
|
5. lettore Datalogic con visualizzazione del testo etichetta archivio
|
|
|
|
## 5) Politica dati attuale
|
|
|
|
- DB esterno esistente: consentito
|
|
- archivi esistenti: consentiti
|
|
- migrazioni automatiche in avvio: disattivate di default
|
|
- `mailhog`: usato per test locale, non per invio ufficiale
|
|
|
|
## 6) Differenze rispetto ai documenti storici
|
|
|
|
I documenti storici che citano `docker/docker-compose.prod.yml`, `.env.docker.example` o mount legacy separati non sono piu il riferimento operativo principale per Day0.
|
|
|
|
Per Day0 fanno fede:
|
|
|
|
- `docker-compose.yml`
|
|
- `docker/run-app-stack.sh`
|
|
- `.env.docker.local.example`
|
|
- `.env.docker.local` locale non versionato
|