Unofficial

Bucket & Code Server IDE

Il tuo NAS custodisce già i tuoi file. Ora compila il tuo software.

L’officina per i server QNAP.

Bucket & Code Server IDE è l’officina di sviluppo per il tuo NAS QNAP: Git con Forgejo, CI, bucket con versioni, VS Code nel browser e un App Builder che compila ricette in QPKG. Si installa da App Center, come qualsiasi altra app.

Cosa fa

sul NAS che hai già

Bucket & Code Server IDE installa uno stack di sviluppo completo sul NAS QNAP che hai già, con il suo server web, i suoi account e i suoi strumenti, e tiene tutto in una sola cartella di dati sul tuo volume. Scrivi il codice nel browser, invialo a Forgejo, lascia che il runner sul NAS lo compili e pubblicalo nel tuo repository per App Center. Il pannello che guida tutto funziona come un editor di codice e parla nove lingue.

01 · Interfaccia di lavoro

Un pannello che funziona come il tuo editor

Una barra delle attività, una barra laterale, schede, una tavolozza dei comandi, un pannello inferiore e una barra di stato. Se vivi in VS Code, sai già come muoverti. Ogni pagina si apre in una scheda, Ctrl+Maiusc+P raggiunge ogni comando che il tuo ruolo può eseguire, e la barra di stato ti dice cosa stanno facendo i moduli, quanto spazio resta sul volume e come sta il certificato.

  • Barra delle attività, alberi nella barra laterale, schede di anteprima e due pagine affiancate
  • Job, Problemi e Output nel pannello inferiore (Ctrl+J), con l’avanzamento in tempo reale
  • Temi scuro e chiaro, un layout per il telefono e scorciatoie da tastiera
  • Inglese, polacco, tedesco, francese, italiano, olandese, svedese, giapponese e cinese tradizionale, con la guida utente nelle stesse nove lingue
  • I ruoli admin, developer e viewer, l’autenticazione a due fattori e i token API

02 · Nuovo progetto

Un nuovo progetto in un solo passaggio

Scegli un modello, dagli un nome e premi Crea il progetto. Un solo job crea il repository Forgejo, fa il commit del modello con il suo workflow CI, lo invia e lascia una copia nella cartella che apre il tuo editor. Con la CI attiva, il push successivo viene compilato sul NAS.

  • C, C++ con CMake, Go, Rust, Node, Python e Java
  • Un modulo del kernel, il driver USB-seriale ch341, un pacchetto QPKG o un’app dell’App Builder
  • Il primo commit è tuo, su main, privato a meno che tu non scelga pubblico
  • Se manca qualcosa, non viene creato nulla e la finestra di dialogo ti dice cosa fare

03 · Git

Git con Forgejo

Forgejo ti offre repository, issue, pull request, release, wiki, LFS, mirror e webhook, ospitati sui tuoi dischi. Ogni account del pannello è un account Forgejo, quindi non c’è una seconda lista di utenti da tenere allineata; git su HTTPS accetta la password del pannello, oppure un token di accesso quando l’autenticazione a due fattori è attiva.

  • Clona via HTTPS o SSH; la pagina Git ti mostra entrambi i comandi già pronti
  • L’accesso a Forgejo è l’accesso del pannello, codice dell’autenticazione a due fattori compreso
  • Mirror e importazioni dalla tua rete, consentiti fin dall’installazione
  • Attiva Navigazione pubblica per mostrare i repository pubblici a chi non ha un account

04 · CI

Una CI che gira dove vive il tuo codice

Invia un workflow e il runner di Forgejo Actions sul NAS lo prende in carico. I job girano sul NAS stesso, con gli strumenti del pacchetto e i tuoi ambienti di build a portata di mano.

  • runs-on: bucketvs, oppure le etichette qnap-x86_64, qnap-aarch64 e self-hosted
  • bvs env run compila dentro uno dei tuoi ambienti da qualsiasi job
  • Registra runner Linux esterni (x86_64 o aarch64) dalla pagina CI quando vuoi più macchine
  • I job girano come admin, non in un container, e la pagina CI lo dice: fagli eseguire solo workflow di cui ti fidi

05 · Editor

VS Code nel browser, con il tuo assistente IA

Ogni sviluppatore ha il suo VS Code nel browser (code-server). Il suo terminale ha git, svn, node, npm, rsync e curl nel path, e un solo comando ti porta in un ambiente Linux completo. Installa Claude Code, Gemini CLI o Codex CLI dalla pagina Impostazioni Editor, e ogni progetto creato dalla procedura guidata contiene una skill che insegna all’assistente IA come funziona un NAS QNAP dalla shell.

  • Un’istanza per account; si ferma quando è inattiva, ma mai mentre un programma nel suo terminale è ancora in esecuzione
  • Estensioni da Open VSX
  • La vista Porte raggiunge il server di sviluppo che hai appena avviato sul NAS
  • Il terminale è una shell root sul NAS, quindi il ruolo developer è per persone a cui affideresti la password dell’admin

06 · SVN e Bucket

Bucket che ricordano ogni salvataggio

Un bucket è un disco di rete in cui ogni file salvato diventa una revisione. Apri qualsiasi versione precedente, confrontala con un’altra e rimettila al suo posto come nuova revisione, così non si perde nulla. I repository Subversion stanno proprio accanto ai bucket, con gli stessi account.

  • Funziona con il Finder di macOS, rclone, davfs2, Cyberduck, WinSCP e curl
  • Permessi per repository: lettura e scrittura, lettura o nessuno, per ogni account
  • I file ._* e .DS_Store del Finder restano fuori dalla cronologia per impostazione predefinita
  • Una vista web facoltativa in sola lettura mostra i file, la cronologia e le differenze a chi non ha un account

07 · Toolchain

Linux vero sul tuo NAS

Estrai Debian, Ubuntu o Alpine in un ambiente sul NAS e lavoraci come su qualsiasi macchina Linux. In Debian e Ubuntu apt install funziona, e quello che installi resta. Aggiungi i runtime e i compilatori che ti servono da un catalogo firmato; ogni download viene verificato con il suo sha256 prima di essere usato.

  • Debian 12 e 13, Ubuntu 22.04 e 24.04, Alpine 3.22
  • Python, Go, Node.js, Zig, Rust, CMake, Ninja e Java
  • Toolchain incrociate Bootlin per aarch64, x86-64 e armv7 (su un NAS x86_64)
  • Il QDK 2.5.0 di QNAP, e bvs qbuild per compilare un QPKG da qualsiasi cartella con un qpkg.cfg
  • Clona, esporta o elimina un ambiente; aprici una shell dal pannello

08 · App Builder

App Builder: dalle ricette a un QPKG

Scegli i programmi tra 523 ricette, decidi come collegarli e compila. L’App Builder compila tutto in una sola cartella dentro un ambiente, poi verifica ogni programma prima che la build sostituisca la precedente. Attiva l’app e i suoi programmi girano sul NAS, oppure esportala come QPKG a sé.

  • Librerie, shell, strumenti e server: bash, zsh, coreutils, curl, git, jq, rsync, tmux, htop, nginx, redis, openssh, PowerDNS e altro
  • Ogni ricetta fissa il suo sorgente con lo sha256 e dimostra il suo risultato con un controllo
  • Quattro modalità di collegamento; bundle porta con sé le proprie librerie e richiede solo la libreria C del NAS
  • Build incrociate per aarch64 e armv7
  • Una build che fallisce lascia l’app com’era

09 · Dipendenze

Guarda cosa serve a ogni binario

«Library not found» non dovrebbe essere una sorpresa sul NAS. La scheda Dipendenze legge ogni file ELF di una build senza eseguirlo e mostra cosa serve a ciascuno e dove il loader del NAS lo trova. Una libreria mancante, una versione che la libreria non definisce o un RUNPATH che punta fuori dall’app diventa un rilievo con la sua correzione.

  • Correzioni con un pulsante dove ce n’è una: aggiungi una ricetta e compila, cambia la modalità di collegamento, correggi il RUNPATH
  • Un grafo o un albero di ogni file, delle librerie dell’app e di quelle del NAS
  • Uno strumento patch con un’anteprima prima e dopo
  • bvs ldd e bvs deps ti danno le stesse risposte da una shell

10 · Kernel

Un’officina del kernel per il kernel che usi

Ti serve un driver che QNAP non fornisce? L’officina del kernel legge cosa dice di sé il kernel in esecuzione, prepara un albero del kernel corrispondente e compila il tuo modulo su di esso. Ogni modulo viene verificato rispetto al kernel in esecuzione prima di essere caricato, e un modulo che non supera la verifica non viene mai caricato.

  • Il profilo: release, compilatore, vermagic e la struttura di struct module
  • L’albero GPL di QNAP dove QNAP ne ha pubblicato uno, altrimenti l’albero di kernel.org
  • Compila il tuo modulo, o un driver dell’albero del kernel come il driver USB-seriale ch341
  • Carica un modulo con i moduli da cui dipende; un’app può portare con sé i suoi moduli

11 · Pacchetti

Il tuo repository per App Center

Pubblica i tuoi QPKG nel repository per App Center del pacchetto, aggiungi il suo indirizzo in App Center sugli altri tuoi NAS e installa da lì come da qualsiasi altro repository. Decidi tu quale versione vede App Center.

  • Ogni versione resta scaricabile; una è indicata come la più recente
  • Caricamento dalla pagina Pacchetti, da un workflow CI o con bvs repo publish

12 · Pubblica

Su Internet, senza aprire una porta

La pagina Pubblicazione mette il pannello, Forgejo e il repository dei pacchetti su nomi del tuo dominio, con il DNS su Cloudflare. cloudflared si collega verso l’esterno dal NAS, quindi non si apre nessuna porta del router, e Cloudflare tiene i certificati. Ogni richiesta passa comunque dal controllo di accesso del pacchetto, e senza account si apre solo ciò che hai reso pubblico.

  • Tutto viene prima verificato su Cloudflare; una verifica fallita non cambia nulla
  • Un nome host principale per il pannello e Forgejo, e un nome host dei pacchetti per App Center sugli altri NAS
  • Preimpostazioni di cache facoltative per i pacchetti e i file del pannello
  • Rimuovi da Cloudflare ritira i record, le regole di cache e il tunnel che ha creato

13 · Backup

I backup e il lavoro di ogni giorno

I backup giornalieri di Git, SVN, bucket, impostazioni e impostazioni di VS Code conservano gli ultimi 7 giorni, 4 settimane e 6 mesi. Le copie vanno in una cartella sul NAS, tramite rsync e SSH, o ovunque arrivi rclone, e ogni copia che lascia il NAS viene cifrata con age.

  • Verifica rilegge un’esecuzione per intero: ogni sha256, svnadmin verify, git fsck
  • Ripristina tutto, o un solo repository mentre i moduli continuano a girare; niente viene sostituito prima di essere verificato
  • Job cron sul NAS o dentro un ambiente, con fusi orari, timeout e una notifica quando un’esecuzione fallisce
  • Log, notifiche e un pacchetto diagnostico, tutto dal pannello

14 · Esempi

Grandi progetti inclusi

La galleria degli esempi ha 63 esempi pronti che applichi con un clic. Diversi di essi sono prodotti completi. TurboDNS compila PowerDNS Authoritative Server 5.1.4 dalle ricette, aggiunge un pannello delle zone e impacchetta entrambi in un QPKG con un workflow CI; MailServerPro fa lo stesso per Postfix, Dovecot, Rspamd e Roundcube, e WebHostPro per nginx, Apache httpd, PHP e i database.

Un server di posta, compilato dai sorgenti. Postfix per SMTP, Dovecot con Pigeonhole per IMAP, POP3, Sieve e ManageSieve, Rspamd con Valkey contro lo spam, ClamAV, e fail2ban contro i tentativi di indovinare le password. Firma DKIM, SPF, DMARC e ARC, greylisting, MTA-STS, e DANE tramite il suo resolver di convalida. Roundcube per la webmail, CalDAV e CardDAV per calendari e contatti, e Z-Push per Exchange ActiveSync. Più domini, caselle di posta con quote, alias, un catch-all, inoltri e risposte automatiche per le assenze stanno in un solo database. Un pannello di amministrazione aggiunge domini, caselle e chiavi DKIM, elenca i record DNS di cui ogni dominio ha bisogno, mostra la coda e i log, ed esegue il backup di ogni casella. L’App Builder compila le sue ricette sul NAS; un solo target make trasforma l’app in un QPKG.

  • Un pannello delle zone in nove lingue in cui ogni modifica è prima una prova
  • Istantanee, modelli, verifiche della propagazione e DNSSEC
  • Invii a Cloudflare e OVH con una prova e una rilettura
  • 18 app, 9 ambienti, 6 workflow CI, 5 job cron e 25 progetti Editor nella galleria

I grandi progetti, sullo schermo

dati di esempio

WebHostPro (un server web), TurboDNS (un server DNS) e MailServerPro (un server di posta) sono progetti Editor della galleria degli esempi, ciascuno impacchettato come QPKG con un pannello proprio.

WebHostPro: Siti
WebHostProLa pagina Siti: ogni sito con il suo tipo, il suo server, il TLS e lo stato, e un segno sul sito la cui configurazione del dominio è ancora aperta.
WebHostPro: Procedura guidata del dominio
WebHostProLa procedura guidata del dominio al passo Registrar: i server dei nomi e i record glue da inserire dove il dominio è stato comprato, ciascuno con un pulsante di copia, e gli inoltri del router.
WebHostPro: Configurazione del dominio
WebHostProIl riquadro «Completa la configurazione» nella panoramica di un sito: i record inviati a TurboDNS, i valori per il registrar e il controllo dal vivo, che legge i server dei nomi della zona superiore, TurboDNS su questo NAS, tre resolver pubblici e il front-end.
WebHostPro: Scheda PHP
WebHostProLa scheda PHP di un sito PHP: la versione e il fuso orario, i limiti, gli errori, le sessioni, OPcache e il JIT, APCu, le estensioni, altre righe di php.ini e i processi PHP, ogni campo con un «?» che dice cosa fa.
WebHostPro: Database
WebHostProLa pagina Database: un riquadro per ogni server di database, MariaDB e Percona Server, con il buffer pool, le connessioni, il tempo di una query lenta e altre righe di my.cnf, verificate sull’elenco delle opzioni del server stesso; una modifica resta una bozza e l’applicazione riavvia il server.
TurboDNS: Zone
TurboDNSZone: l’elenco delle zone e il modulo per una nuova zona con i suoi name server e la modalità del numero di serie.
TurboDNS: Record di una zona
TurboDNSI record di una zona: il suo numero di serie e lo stato della firma, i set di record e il modulo che ne aggiunge uno.
TurboDNS: Prova
TurboDNSUn nuovo set di record esaminato con una prova: l’elenco mostra cosa verrà aggiunto, sostituito o eliminato prima che cambi qualcosa.
MailServerPro: Panoramica
MailServerProPanoramica: i dieci servizi con il loro stato e i conteggi di domini, caselle, alias e messaggi in coda.
MailServerPro: Domini
MailServerProDomini: ogni dominio con stato, caselle e catch-all e i pulsanti per i suoi record DNS, per attivarlo o disattivarlo e per eliminarlo.
MailServerPro: Record DNS di un dominio
MailServerProI record DNS da pubblicare per un dominio: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, autoconfig e SRV, ciascuno con il suo motivo.
MailServerPro: Caselle
MailServerProCaselle: indirizzo, nome, uso e quota, stato e inoltri, con sotto il modulo per aggiungerne una.
MailServerPro: Impostazioni
MailServerProImpostazioni: nome host, certificato, dimensione dei messaggi e frequenza di invio, MTA-STS e DANE, soglie antispam, greylisting, ClamAV, fail2ban e backup.
1 / 13

I pannelli sono veri, aperti in un browser su una macchina di build. I loro dati sono inventati: nomi sotto example.org ed example.test, indirizzi degli intervalli di documentazione e indirizzi locali.

Per chi è

  • Sviluppatori che vogliono il loro codice, le loro build e la loro CI su hardware di loro proprietà.
  • Utenti esperti di QNAP che compilano i propri QPKG, strumenti da riga di comando e server per il NAS.
  • Piccoli team che hanno bisogno di Git privato, issue e pull request senza un abbonamento cloud.
  • Smanettoni a cui serve un modulo del kernel che QNAP non fornisce.
  • Chiunque voglia ogni versione di un file su un disco di rete che Finder, rclone e davfs2 sanno già usare.

Requisiti

  • QTS 6.0 o QuTS hero 6.0 o successivi
  • Un NAS QNAP x86_64 o ARM a 64 bit
  • Un pacchetto per ogni architettura, installato da App Center

Trasforma il tuo NAS in un’officina.

Installa Bucket & Code Server IDE, accedi e attiva i moduli che ti servono.

QNAP is a trademark of QNAP Systems, Inc. Bucket & Code Server IDE is made for QNAP NAS; it is not made or endorsed by QNAP.