2.6 KiB
2.6 KiB
Distribuzione e aggiornamenti (Open Source)
Obiettivo
Linee guida per pubblicare NetGescon e distribuire aggiornamenti, con focus su Docker.
Specifiche demo online
- Dominio:
demo.netgescon.it(o.org) - TLS: certificato Let’s Encrypt
- Server consigliato: 2 vCPU / 4 GB RAM / 40+ GB SSD
- Porta HTTP: 80 → Nginx
- Porta HTTPS: 443 → Nginx
- Stack: Docker Engine + Docker Compose
Setup online (end-to-end)
- Guida completa:
docs/000-FILAMENT/10-ONLINE-SETUP.md - Compose online (Traefik + app):
docker/docker-compose.online.yml - Env online:
.env.online.example
Opzione consigliata: Docker + Versioning
Struttura immagini
netgescon/app→ PHP + Laravel + Filamentnetgescon/nginx→ Nginxnetgescon/mysql→ DB (opzionale per demo)
Versionamento
- Tag immagine:
vX.Y.Z latestsolo per preview- Release notes su GitHub
Aggiornamento
- Pull nuova immagine
php artisan migrate --forcephp artisan optimize:clear
Docker (distribuzione pronta)
- Dockerfile:
docker/Dockerfile.prod - Compose:
docker/docker-compose.prod.yml - Compose demo:
docker/docker-compose.demo.yml - Nginx:
docker/nginx/default.conf - Init DB staging:
docker/mysql/init.sql
Installazione base
- Configura file
.envper DB e APP_URL. - Avvia:
docker compose -f docker/docker-compose.prod.yml up -d
DNS (esempio)
Arecord → IP del serverCNAME(opzionale) →demo→ root
TLS (Nginx esterno)
- Termina TLS su reverse proxy (Nginx/Traefik) davanti al container
- Forward verso
http://127.0.0.1:8080
Demo online
- Avvio demo:
scripts/deploy-demo.sh - Compose demo:
docker/docker-compose.demo.yml
Aggiornamento autonomo
- Script:
scripts/update-docker.sh - Azioni: pull immagine → restart → migrate → clear cache
Database e dati
- Volume persistente per DB
- Volume persistente per storage
- Backup obbligatorio prima di update
Strategie aggiornamento
- Rolling update (prod)
- Blue/Green (consigliata per installazioni grandi)
Distribuzione archivi legacy
- Non includere in immagini
- Montare
/mnt/gescon-archives/gesconcome volume read-only
Checklist update
- backup DB
- backup storage
- pull immagine
- migrate
- clear cache
- health check
Note d'aggiornamento
- File:
CHANGELOG.md - Versione:
VERSION
Materiale Open Source minimo
README.mdcon setup e runCONTRIBUTING.mdcon workflow PR e standardCHANGELOG.mdLICENSE- Documentazione in
docs/aggiornata
Note sicurezza
- Non pubblicare credenziali
- Configurare
.envesterno - Permessi minimi sui volumi