Harden Tailwind Docker build and add deploy verification
This commit is contained in:
@@ -236,6 +236,12 @@ Usa il file `docker-compose.yml` fornito:
|
||||
# Avviare i servizi
|
||||
docker compose up -d
|
||||
|
||||
# Rebuild completo senza cache (consigliato dopo modifiche UI/Tailwind)
|
||||
docker compose build --no-cache
|
||||
|
||||
# Verificare che il CSS compilato non sia vuoto
|
||||
docker exec llm-monitor-app wc -l /app/app/web/static/css/output.css
|
||||
|
||||
# Visualizzare i log
|
||||
docker compose logs -f llm-monitor
|
||||
|
||||
@@ -246,6 +252,41 @@ docker compose down
|
||||
docker compose restart llm-monitor
|
||||
```
|
||||
|
||||
### Deploy consigliato (Tailwind-safe)
|
||||
|
||||
Se l'interfaccia appare senza stili o una modale non si posiziona correttamente, usa il deploy con rebuild no-cache e verifica CSS:
|
||||
|
||||
```bash
|
||||
cd /opt/llm-monitor
|
||||
docker compose down
|
||||
docker compose build --no-cache
|
||||
docker compose up -d
|
||||
sleep 5
|
||||
docker exec llm-monitor-app wc -l /app/app/web/static/css/output.css
|
||||
```
|
||||
|
||||
In alternativa dal repository:
|
||||
|
||||
```bash
|
||||
make deploy-no-cache
|
||||
```
|
||||
|
||||
### Tailwind Build Process
|
||||
|
||||
- Lo stage `css-builder` del Dockerfile installa dipendenze Node con `npm ci`.
|
||||
- Prima della build Tailwind vengono copiati template HTML e JS usati dal content scan.
|
||||
- Dopo `npm run tailwind:build` una verifica bloccante controlla che `output.css` esista e abbia almeno 100 linee.
|
||||
- Lo stage runtime copia `output.css` compilato da `css-builder` con `COPY --from=css-builder`.
|
||||
|
||||
### Troubleshooting UI
|
||||
|
||||
Se la modale non appare o i componenti sembrano "unstyled":
|
||||
|
||||
1. Esegui `docker compose build --no-cache`.
|
||||
2. Riavvia con `docker compose up -d`.
|
||||
3. Verifica CSS compilato: `docker exec llm-monitor-app wc -l /app/app/web/static/css/output.css`.
|
||||
4. Se il numero linee e `< 100`, la build Tailwind non e riuscita correttamente.
|
||||
|
||||
### Container sempre acceso
|
||||
|
||||
Il container `llm-monitor` rimarrà in esecuzione fino al suo arresto manuale:
|
||||
|
||||
Reference in New Issue
Block a user