11 Commits

Author SHA1 Message Date
eb756ad3b1 PHP fissato alla 8.3.36 (CVE-2026-109618, CVE-2026-109619)
- Dockerfile: ARG PHP_VERSION=8.3.36 e FROM php:${PHP_VERSION}-fpm al posto
  del tag mobile php:8.3-fpm, che la cache di Docker poteva risolvere sulla
  8.3.35 vulnerabile. Una build ora prende la versione corretta o fallisce.
- phpredis da GitHub (versione fissata) invece di pecl.php.net, che il
  giorno della patch rispondeva 504 e bloccava la build.
- Test contro il ritorno a un tag mobile o a una versione vulnerabile.
- PHP_VERSION passabile dal compose solo per prove locali.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:03:23 +02:00
440d63a6b9 ++ fix e controlli 2026-07-30 17:05:39 +02:00
cf78550516 Ristruttura il deploy: immagine autosufficiente per Dokploy
Il Dockerfile compilava l'applicazione in /app-src mentre il runtime girava
da /var/www/html, popolato solo dal bind mount del sorgente: l'immagine
costruita non veniva mai usata. L'entrypoint rieseguiva composer install e
npm run build a ogni avvio, dentro il container. Su Dokploy, senza sorgente
sull'host, questo significava build a runtime a ogni deploy.

Ora vendor/ e public/build sono compilati in stage separati e copiati
nell'immagine finale. I container di produzione non montano il sorgente e
non eseguono build all'avvio: un redeploy e' build, migrazioni, online.

- Dockerfile multi-stage (composer, node, runtime)
- nginx e php-fpm nello stesso container via supervisor: con container
  separati nginx avrebbe bisogno di una copia di public/ e del volume
  storage solo per servire file statici
- clear_env = no in www.conf, senza cui php-fpm nasconde a Laravel tutte
  le variabili d'ambiente
- configurazione da ambiente di processo invece di .env riscritto con sed;
  il compose fissa solo i valori dettati dalla topologia
- fail-fast su APP_URL, DB_PASSWORD, DB_ROOT_PASSWORD, REDIS_PASSWORD
- servizio scheduler dedicato: schedule:work non veniva mai eseguito,
  quindi la pulizia dell'audit log non e' mai partita
- solo il container app esegue le migrazioni, per evitare che due
  container in gara lascino uno schema applicato a meta'
- healthcheck separati per worker e scheduler, che non espongono HTTP
- docker-compose.dev.yml per lo sviluppo locale
- documentazione unificata in README.md e HANDOFF.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 16:49:10 +02:00
777f239c7a +++fix: add thumbnail support for territori 2026-04-08 09:32:07 +00:00
1606778518 ++ fix 2026-04-05 20:14:30 +00:00
22ac0aa781 +++ fix 2026-04-05 19:52:41 +00:00
root
1632b568af Restructure Docker for Dokploy deployment
- Copy app code into PHP image, sync to shared volume at startup
- Use named volume (app_code) shared between app and nginx
- Build nginx image with embedded config (no bind mounts)
- Add .dockerignore to optimize image build
- Build context moved to project root for both services
2026-04-05 20:09:12 +02:00
root
16616adcfd Remove user/permission management for Dokploy deployment
- Dockerfile: remove appuser creation, run everything as root
- www.conf: switch php-fpm workers to www-data
- entrypoint.sh: remove all chown and git safe.directory workarounds
- docker-compose.yml: remove USER_ID/GROUP_ID build args
- .env.example: remove USER_ID/GROUP_ID variables
2026-04-05 19:54:12 +02:00
root
d38d8b7896 Add Docker entrypoint and cleanup gitignore
- Add entrypoint.sh for automated app initialization (composer, npm, migrations, cache)
- Update Dockerfile: run entrypoint as root, php-fpm workers still run as appuser
- Update .gitignore: exclude storage/logs, storage/framework, bootstrap/cache, public/build
- Remove generated/cached files from git tracking
2026-04-05 19:50:55 +02:00
Francesco Picone
50f28292ef Primo commit 2026-04-05 19:30:47 +02:00
Francesco Picone
701f479b7f Primo commit 2026-04-05 19:26:04 +02:00