Unofficial

Bucket & Code Server IDE

Din NAS lagrar redan dina filer. Nu bygger den din programvara.

Verkstaden för QNAP-servrar.

Bucket & Code Server IDE är utvecklarverkstaden för din QNAP NAS: Git med Forgejo, CI, versionshanterade buckets, VS Code i webbläsaren och en App Builder som kompilerar recept till QPKG. Installeras från App Center, som vilken annan app som helst.

Vad den gör

på den NAS du redan har

Bucket & Code Server IDE installerar en fullständig utvecklingsstack på den QNAP NAS du redan äger, med en egen webbserver, egna konton och egna verktyg, och den sparar allt i en datamapp på din volym. Skriv koden i webbläsaren, pusha den till Forgejo, låt runnern på NAS:en bygga den, och publicera den i ditt eget App Center-repository. Panelen som driver allt fungerar som en kodredigerare, och den talar nio språk.

01 · Arbetsbänk

En panel som fungerar som din kodredigerare

Ett aktivitetsfält, ett sidofält, flikar, en kommandopalett, en nedre panel och ett statusfält. Om du lever i VS Code hittar du redan rätt. Varje sida öppnas i en flik, Ctrl+Skift+P når varje kommando din roll får köra, och statusfältet visar vad modulerna gör, hur mycket ledigt utrymme volymen har och hur det står till med certifikatet.

  • Aktivitetsfält, träd i sidofältet, förhandsvisningsflikar och två sidor sida vid sida
  • Jobb, Problem och Utdata i den nedre panelen (Ctrl+J), med förlopp i realtid
  • Mörkt och ljust tema, en telefonlayout och kortkommandon
  • Engelska, polska, tyska, franska, italienska, nederländska, svenska, japanska och traditionell kinesiska, med användarhandboken på samma nio språk
  • Rollerna admin, developer och viewer, tvåfaktorsautentisering och API-token

02 · Nytt projekt

Ett nytt projekt i ett steg

Välj en mall, ge den ett namn och tryck på Skapa projekt. Ett jobb skapar Forgejo-repositoryt, checkar in mallen med dess CI-arbetsflöde, pushar den och lämnar en kopia i mappen som din redigerare öppnar. Med CI påslaget byggs nästa push på NAS:en.

  • C, C++ med CMake, Go, Rust, Node, Python och Java
  • En kärnmodul, USB-seriedrivrutinen ch341, ett QPKG-paket eller en App Builder-app
  • Den första incheckningen är din, på main, privat om du inte väljer publik
  • Om något saknas skapas ingenting, och dialogrutan talar om för dig vad du ska göra

03 · Git

Git med Forgejo

Forgejo ger dig repositoryn, ärenden, pull requests, releaser, wikis, LFS, speglar och webhooks, driftade på dina egna diskar. Varje panelkonto är ett Forgejo-konto, så det finns ingen andra användarlista att hålla synkroniserad; git via HTTPS tar panelens lösenord, eller en åtkomsttoken när tvåfaktorsautentisering är aktiverad.

  • Klona via HTTPS eller SSH; Git-sidan skriver båda kommandona åt dig
  • Forgejos inloggning är panelens inloggning, inklusive tvåfaktorskod
  • Spegla och importera från ditt eget nätverk, tillåtet direkt från start
  • Slå på Publik bläddring för att visa publika repositoryn för personer utan konto

04 · CI

CI som körs där din kod bor

Pusha ett arbetsflöde så plockar Forgejo Actions-runnern på NAS:en upp det. Jobb körs på själva NAS:en, med paketets verktyg och dina byggmiljöer till hands.

  • runs-on: bucketvs, eller etiketterna qnap-x86_64, qnap-aarch64 och self-hosted
  • bvs env run bygger inuti en av dina miljöer från vilket jobb som helst
  • Registrera externa Linux-runners (x86_64 eller aarch64) från CI-sidan när du vill ha fler maskiner
  • Jobb körs som admin, inte i en container, och CI-sidan säger det: låt den bara köra arbetsflöden du litar på

05 · Redigerare

VS Code i webbläsaren, med din AI-assistent

Varje utvecklare får sin egen VS Code i webbläsaren (code-server). Dess terminal har git, svn, node, npm, rsync och curl i sökvägen, och ett kommando tar dig in i en fullständig Linux-miljö. Installera Claude Code, Gemini CLI eller Codex CLI från sidan Redigerarinställningar, och varje projekt som guiden skapar innehåller en skill som lär AI-assistenten hur en QNAP NAS fungerar i skalet.

  • En instans per konto; den stannar när den är inaktiv, men aldrig medan ett program i dess terminal fortfarande körs
  • Tillägg från Open VSX
  • Vyn Portar når utvecklingsservern du just startade på NAS:en
  • Terminalen är ett root-skal på NAS:en, så rollen developer är för personer du skulle anförtro admin-lösenordet

06 · SVN och Bucket

Buckets som minns varje sparning

En bucket är en nätverksenhet där varje sparad fil blir en revision. Öppna vilken tidigare version som helst, jämför den med en annan och lägg tillbaka den som en ny revision, så att inget går förlorat. Subversion-repositoryn ligger precis bredvid buckets, med samma konton.

  • Fungerar med macOS Finder, rclone, davfs2, Cyberduck, WinSCP och curl
  • Behörigheter per repository: läsa och skriva, läsa, eller inga, för varje konto
  • Finders ._* och .DS_Store-filer hålls utanför historiken som standard
  • En valfri skrivskyddad webbvy visar filerna, historiken och skillnaderna för personer utan konto

07 · Verktygskedjor

Äkta Linux på din NAS

Packa upp Debian, Ubuntu eller Alpine i en miljö på NAS:en och arbeta i den som i vilken Linux-maskin som helst. I Debian och Ubuntu fungerar apt install, och det du installerar sparas. Lägg till de körmiljöer och kompilatorer du behöver från en signerad katalog, och varje nedladdning kontrolleras mot sin sha256 innan den används.

  • Debian 12 och 13, Ubuntu 22.04 och 24.04, Alpine 3.22
  • Python, Go, Node.js, Zig, Rust, CMake, Ninja och Java
  • Bootlins korsverktygskedjor för aarch64, x86-64 och armv7 (på en x86_64-NAS)
  • QNAP:s QDK 2.5.0, och bvs qbuild för att bygga ett QPKG från valfri mapp med en qpkg.cfg
  • Klona, exportera eller ta bort en miljö; öppna ett skal i den från panelen

08 · App Builder

App Builder: från recept till ett QPKG

Välj program från 523 recept, välj hur de länkas och bygg. App Builder kompilerar allt till en mapp inuti en miljö, och kontrollerar sedan varje program innan bygget ersätter det förra. Aktivera appen så körs dess program på NAS:en, eller exportera den som ett eget QPKG.

  • Bibliotek, skal, verktyg och servrar: bash, zsh, coreutils, curl, git, jq, rsync, tmux, htop, nginx, redis, openssh, PowerDNS med flera
  • Varje recept låser sin källkod med sha256 och bevisar sitt resultat med en kontroll
  • Fyra länkningssätt; Bundle bär med sig sina egna bibliotek och behöver bara NAS:ens C-bibliotek
  • Korsbyggen för aarch64 och armv7
  • Ett bygge som misslyckas lämnar appen som den var

09 · Beroenden

Se vad varje binärfil behöver

”Library not found” borde inte vara en överraskning på NAS:en. Fliken Beroenden läser varje ELF-fil i ett bygge utan att köra den och visar vad var och en behöver och var NAS:ens laddare hittar det. Ett saknat bibliotek, en version som biblioteket inte definierar, eller en RUNPATH som pekar utanför appen blir ett fynd med sin lösning.

  • Lösningar med en knapp där det finns en: lägg till ett recept och bygg, byt länkningssätt, patcha RUNPATH
  • En graf eller ett träd över varje fil, appens bibliotek och NAS:ens
  • Ett patchverktyg med en förhandsvisning av före och efter
  • bvs ldd och bvs deps ger dig samma svar från ett skal

10 · Kärnor

En kärnverkstad för kärnan du kör

Behöver du en drivrutin som QNAP inte levererar? Kärnverkstaden läser vad den körande kärnan säger om sig själv, förbereder ett matchande kärnträd och bygger din modul mot det. Varje modul kontrolleras mot den körande kärnan innan den laddas, och en modul som misslyckas med kontrollen laddas aldrig.

  • Profilen: release, kompilator, vermagic och layouten för struct module
  • QNAP:s GPL-träd där QNAP har publicerat ett, annars trädet från kernel.org
  • Bygg din egen modul, eller en drivrutin från kärnträdet som USB-seriedrivrutinen ch341
  • Ladda en modul med de moduler den beror på; en app kan bära med sig sina moduler

11 · Paket

Ditt eget App Center-repository

Publicera dina QPKG:er i paketets App Center-repository, lägg till dess adress i App Center på dina andra NAS-enheter och installera från det som från vilket annat repository som helst. Du bestämmer vilken version App Center ser.

  • Varje version förblir nedladdningsbar; en listas som den senaste
  • Ladda upp från sidan Paket, från ett CI-arbetsflöde eller med bvs repo publish

12 · Publicera

På internet, utan att öppna en port

Sidan Publicering lägger panelen, Forgejo och paketrepositoryt på namn under din egen domän, med dess DNS hos Cloudflare. cloudflared kopplar upp sig utåt från NAS:en, så ingen routerport öppnas, och Cloudflare håller certifikaten. Varje begäran går fortfarande genom paketets egen åtkomstkontroll, och endast det du har gjort publikt öppnas utan ett konto.

  • Allt kontrolleras hos Cloudflare först; en misslyckad kontroll ändrar ingenting
  • Ett huvudvärdnamn för panelen och Forgejo, och ett värdnamn för paket för App Center på andra NAS-enheter
  • Valfria cache-förinställningar för paket och panelens filer
  • Ta bort från Cloudflare tar tillbaka posterna, cachereglerna och tunneln den skapade

13 · Säkerhetskopior

Säkerhetskopior och det dagliga arbetet

Dagliga säkerhetskopior av Git, SVN, buckets, inställningar och VS Code-inställningar sparar de senaste 7 dagarna, 4 veckorna och 6 månaderna. Kopior går till en mapp på NAS:en, över rsync och SSH, eller vart som helst rclone når, och varje kopia som lämnar NAS:en krypteras med age.

  • Verifiera läser tillbaka en körning helt: varje sha256, svnadmin verify, git fsck
  • Återställ allt, eller ett repository medan modulerna fortsätter köra; ingenting ersätts innan det har kontrollerats
  • Cron-jobb på NAS:en eller inuti en miljö, med tidszoner, tidsgränser och en avisering när en körning misslyckas
  • Loggar, aviseringar och ett supportpaket, allt från panelen

14 · Exempel

Stora projekt ingår

Exempelgalleriet har 63 färdiga exempel som du tillämpar med ett klick. Flera av dem är hela produkter. TurboDNS bygger PowerDNS Authoritative Server 5.1.4 från recept, lägger till en zonpanel och packar båda i ett QPKG med ett CI-arbetsflöde; MailServerPro gör detsamma för Postfix, Dovecot, Rspamd och Roundcube, och WebHostPro för nginx, Apache httpd, PHP och databaser.

En e-postserver, byggd från källkod. Postfix för SMTP, Dovecot med Pigeonhole för IMAP, POP3, Sieve och ManageSieve, Rspamd med Valkey mot skräppost, ClamAV, och fail2ban mot lösenordsgissning. DKIM-signering, SPF, DMARC och ARC, grålistning, MTA-STS, och DANE genom sin egen validerande resolver. Roundcube för webbmejl, CalDAV och CardDAV för kalendrar och kontakter, och Z-Push för Exchange ActiveSync. Flera domäner, brevlådor med kvoter, alias, en catch-all, vidarebefordran och semestersvar finns i en enda databas. En administratörspanel lägger till domäner, brevlådor och DKIM-nycklar, listar de DNS-poster varje domän behöver, visar kön och loggar, och säkerhetskopierar varje brevlåda. App Builder kompilerar sina recept på NAS:en; ett make-mål förvandlar appen till ett QPKG.

  • En zonpanel på nio språk där varje ändring först är en förhandsgranskning
  • Ögonblicksbilder, mallar, spridningskontroller och DNSSEC
  • Pushar till Cloudflare och OVH med en förhandsgranskning och en tillbakaläsning
  • 18 appar, 9 miljöer, 6 CI-arbetsflöden, 5 cron-jobb och 25 Redigerarprojekt i galleriet

De stora projekten på skärmen

exempeldata

WebHostPro (en webbserver), TurboDNS (en DNS-server) och MailServerPro (en e-postserver) är Redigerarprojekt från exempelgalleriet, vart och ett paketerat som QPKG med en egen panel.

WebHostPro: Webbplatser
WebHostProSidan Webbplatser: varje webbplats med sin typ, sin server, sin TLS och sitt tillstånd, och en markering på en webbplats vars domänkonfiguration ännu är öppen.
WebHostPro: Domänguide
WebHostProDomänguiden på steget Registrar: namnservrarna och glue-posterna att ange där domänen köptes, var och en med en kopieringsknapp, och routerns vidarebefordringar.
WebHostPro: Domänkonfiguration
WebHostProKortet ”Slutför konfigurationen” på en webbplats översikt: posterna som skickats till TurboDNS, värdena för registraren och direktkontrollen, som läser den överordnade zonens namnservrar, TurboDNS på NAS:en, tre publika resolvrar och fronten.
WebHostPro: Fliken PHP
WebHostProFliken PHP på en PHP-webbplats: version och tidszon, gränserna, felen, sessionerna, OPcache och JIT, APCu, tilläggen, fler rader i php.ini och PHP-processerna, varje fält med ett ”?” som säger vad det gör.
WebHostPro: Databaser
WebHostProSidan Databaser: ett kort per databasserver, MariaDB och Percona Server, med buffertpoolen, anslutningarna, tiden för en långsam fråga och fler rader i my.cnf, kontrollerade mot serverns egen lista över alternativ; en ändring förblir ett utkast, och tillämpningen startar om servern.
TurboDNS: Zoner
TurboDNSZoner: listan över zoner och formuläret för en ny zon med dess namnservrar och serienummerläge.
TurboDNS: Zonens poster
TurboDNSEn zons poster: dess serienummer och signeringsstatus, postuppsättningarna och formuläret som lägger till en.
TurboDNS: Förhandsgranskning
TurboDNSEn ny postuppsättning i förhandsgranskningen: listan visar vad som läggs till, ersätts eller tas bort innan något ändras.
MailServerPro: Översikt
MailServerProÖversikt: de tio tjänsterna med sitt tillstånd och antalen domäner, brevlådor, alias och meddelanden i kön.
MailServerPro: Domäner
MailServerProDomäner: varje domän med tillstånd, brevlådor och catch-all samt knapparna för dess DNS-poster, att slå på eller av den och att ta bort den.
MailServerPro: DNS-poster för en domän
MailServerProEn domäns DNS-poster att publicera: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, autoconfig och SRV, var och en med sin orsak.
MailServerPro: Brevlådor
MailServerProBrevlådor: adress, namn, användning och kvot, tillstånd och vidarebefordran, med formuläret för att lägga till en under.
MailServerPro: Inställningar
MailServerProInställningar: värdnamn, certifikat, meddelandestorlek och sändningstakt, MTA-STS och DANE, spamtrösklar, greylisting, ClamAV, fail2ban och säkerhetskopior.
1 / 13

Panelerna är riktiga och öppnades i en webbläsare på en byggdator. Deras data är påhittad: namn under example.org och example.test, adresser ur dokumentationsintervallen och lokala adresser.

Vem den är till för

  • Utvecklare som vill ha sin kod, sina byggen och sin CI på hårdvara de själva äger.
  • Avancerade QNAP-användare som bygger sina egna QPKG, kommandoradsverktyg och servrar för NAS:en.
  • Små team som behöver privat Git, ärenden och pull requests utan en molnprenumeration.
  • Entusiaster som behöver en kärnmodul som QNAP inte levererar.
  • Alla som vill ha varje version av en fil på en nätverksenhet som Finder, rclone och davfs2 redan förstår.

Krav

  • QTS 6.0 eller QuTS hero 6.0 eller nyare
  • En x86_64 eller ARM 64-bitars QNAP NAS
  • Ett paket per arkitektur, installerat från App Center

Gör din NAS till en verkstad.

Installera Bucket & Code Server IDE, logga in och slå på de moduler du behöver.

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.