Un sito web da Git: compila a ogni push e pubblica sul server web del NAS
Bucket & Code Server IDE conserva un sito statico in un repository Git sul NAS. Le pagine si trovano in src/; un Makefile le copia in public/ e ogni push avvia un controllo dei collegamenti sul runner del NAS. Un pulsante copia public/ su un server web, per esempio quello di QTS sullo stesso NAS, e rilegge la pagina pubblicata per verificarne la presenza.
- Destinazioneuna cartella e il suo indirizzo
- ProgettoNuovo progetto, Sito web statico
- Pushmake test a ogni push
- Pubblicazionepublic/ nella destinazione
Le immagini provengono dal pannello di Bucket & Code Server IDE, con i campi compilati come descritto nella guida. Il NAS ha indirizzo 192.168.1.20 e l’account si chiama ola.
01Una destinazione web
Una destinazione web è il luogo di pubblicazione: una cartella di questo NAS servita da un server web, oppure una destinazione rclone come un server proprio via SFTP, FTP, WebDAV o S3. Il server web di QTS (Control Panel → Applications → Web Server) serve la condivisione Web all’indirizzo http://<NAS address>/; una cartella al suo interno è quindi la destinazione più semplice.
- Nella pagina Pubblica (riservata agli amministratori, sotto Amministrazione), premi Aggiungi una destinazione nella scheda Destinazioni web.
- Scegli Una cartella di questo NAS, inserisci un Nome e indica in Cartella una cartella dedicata dentro una condivisione, per esempio
/share/Web/mysite. Deve essere vuota o nuova, non un’intera condivisione, e stare fuori dalla cartella dei dati. - Inserisci in Indirizzo pubblico l’indirizzo che serve la cartella, qui
http://192.168.1.20/mysite/. Deve iniziare conhttp://ohttps://, senza nome utente, password, query o frammento. Premi Aggiungi la destinazione.
- Seleziona la destinazione nell’elenco e premi Prova. L’applicazione copia un piccolo file nella cartella, lo rilegge dall’indirizzo pubblico e lo elimina.

Una destinazione rclone indica un remoto del file rclone.conf dei backup, un percorso al suo interno e l’indirizzo pubblico che serve quel percorso.
02Il progetto del sito
Apri Nuovo progetto dalla pagina Git o dalla tavolozza dei comandi. Serve il ruolo developer; il passaggio di pubblicazione descritto sotto richiede un amministratore.
- Modello: sotto Siti web scegli Sito web statico.

- Nome e visibilità: il nome, per esempio
mysite, identifica il repository e la cartellaprojects/mysite. Lascia Privato a meno che ogni account debba poter leggere il progetto.
- Compila: lascia attiva l’opzione Compila subito dopo la creazione.
- Pubblica: attiva Pubblica sul mio server web e scegli la destinazione. Aggiungi una destinazione funziona qui come nella pagina Pubblica.

- Vai a Revisione, poi premi Crea il progetto. La pagina segue ogni passaggio: repository e primo commit, prima compilazione e pubblicazione.

Il sito risponde all’indirizzo pubblico della destinazione:
03Modifica, push e pubblicazione
- Modifica le pagine in
src/nell’editor (il progetto è nella cartellaprojects/), crea un commit ed esegui il push.makecopiasrc/inpublic/;make testcontrolla che ognihref=esrc=locale delle pagine punti a un file inpublic/;make cleanrimuovepublic/. - Ogni push avvia il workflow del progetto sul runner del NAS quando il modulo CI è attivo:
make testgira nell’ambiente di compilazione Ubuntu 24.04. Un collegamento interrotto fa fallire l’esecuzione.
- La pagina del progetto (Progetti o barra laterale dell’Editor) permette di compilare e pubblicare manualmente: Compila avvia
make, Ricompila avviamake cleane poimake, mentre Pubblica su My website (per l’amministratore) inviapublic/alla destinazione. Il push da solo non avvia la pubblicazione.
04Cosa fa la pubblicazione
- Dopo la copia, la cartella di destinazione contiene il sito e nient’altro: i file che non fanno più parte del sito vengono rimossi. Al primo utilizzo bvsd contrassegna la cartella con
.bvs-web-target(lo fa anche il test). Se una cartella contiene altri file ma non questo contrassegno, l’operazione viene rifiutata; la pubblicazione non svuota quindi una cartella estranea. - Dopo la copia, l’applicazione legge
index.htmldall’indirizzo pubblico e lo confronta byte per byte. Se l’indirizzo non serve il contenuto copiato, il lavoro fallisce conweb_check:e mostra entrambi i valori: il server web serve un’altra cartella oppure l’indirizzo è errato. - Un progetto che crea un QPKG pubblica nello stesso modo il file
.qpkgpiù recente insieme al suo.sha256, verificato con sha256.