netgescon-day0/docs/000-FILAMENT/08-DOCKER-SETUP.md

2.9 KiB

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 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:

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 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 docker/run-app-stack.sh up -d --build

Verifica container:

bash docker/run-app-stack.sh ps

Log applicazione:

bash docker/run-app-stack.sh logs app --tail=200

Log nginx:

bash docker/run-app-stack.sh logs nginx --tail=200

4) Accesso e collaudo

URL locale/staging base:

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