Váš NAS užukládá vaše soubory.Teď sestavíi váš software.
Dílna pro servery QNAP.
Bucket & Code Server IDE je vývojářská dílna pro váš QNAP NAS: Git s Forgejo, CI, verzované buckety, VS Code v prohlížeči a App Builder, který kompiluje recepty do balíčků QPKG. Instaluje se z App Center jako každá jiná aplikace.
Bucket & Code Server IDE nainstaluje na QNAP NAS, který už máte, kompletní vývojové prostředí s vlastním webovým serverem, vlastními účty a vlastními nástroji a vše drží v jedné datové složce na vašem svazku. Pište kód v prohlížeči, odešlete ho do Forgejo, nechte ho sestavit runnerem na NAS a zveřejněte ho ve vašem vlastním repozitáři pro App Center. Panel, který to všechno řídí, funguje jako editor kódu a mluví devíti jazyky.
01 · Workbench
Panel, který funguje jako váš editor
Panel aktivit, postranní panel, karty, paleta příkazů, spodní panel a stavový řádek. Pokud žijete ve VS Code, vyznáte se tu hned. Každá stránka se otevře v kartě, Ctrl+Shift+P nabídne každý příkaz, který vaše role smí spustit, a stavový řádek ukazuje, co dělají moduly, kolik místa zbývá na svazku a jak je na tom certifikát.
Panel aktivit, stromy v postranním panelu, karty s náhledem a dvě stránky vedle sebe
Jobs, Problems a Output ve spodním panelu (Ctrl+J), s průběhem v reálném čase
Tmavý a světlý motiv, rozvržení pro telefon a klávesové zkratky
Angličtina, polština, němčina, francouzština, italština, nizozemština, švédština, japonština a tradiční čínština, s uživatelskou příručkou ve stejných devíti jazycích
Role admin, developer a viewer, dvoufaktorové ověření a tokeny API
02 · New project
Nový projekt jedním krokem
Vyberte šablonu, zadejte název a stiskněte Create project. Jediná úloha vytvoří repozitář ve Forgejo, provede commit šablony s jejím workflow CI, odešle ji a nechá kopii ve složce, kterou otevírá váš editor. Když je CI zapnuté, další push se sestaví na NAS.
C, C++ s CMake, Go, Rust, Node, Python a Java
Modul jádra, ovladač USB-serial ch341, balíček QPKG nebo aplikace z App Builder
První commit je váš, na větvi main, soukromý, pokud nezvolíte veřejný
Pokud něco chybí, nic se nevytvoří a dialog vám řekne, co udělat
03 · Git
Git s Forgejo
Forgejo vám dává repozitáře, issues, pull requesty, vydání, wiki, LFS, zrcadla a webhooky, hostované na vašich vlastních discích. Každý účet panelu je zároveň účtem Forgejo, takže není třeba udržovat v souladu druhý seznam uživatelů; git přes HTTPS přijímá heslo k panelu, nebo přístupový token, jakmile je zapnuté dvoufaktorové ověření.
Klonování přes HTTPS nebo SSH; stránka Git vám oba příkazy připraví
Přihlášení do Forgejo je přihlášení do panelu, včetně dvoufaktorového kódu
Zrcadlení a import z vaší vlastní sítě, povolené hned po instalaci
Zapněte Public browsing a veřejné repozitáře uvidí i lidé bez účtu
04 · CI
CI, které běží tam, kde je váš kód
Odešlete workflow a runner Forgejo Actions na NAS si ho převezme. Úlohy běží přímo na NAS, s nástroji balíčku a vašimi prostředími pro sestavení po ruce.
runs-on: bucketvs, nebo štítky qnap-x86_64, qnap-aarch64 a self-hosted
bvs env run sestavuje z kterékoli úlohy uvnitř některého z vašich prostředí
Když chcete víc strojů, zaregistrujte na stránce CI externí runnery s Linuxem (x86_64 nebo aarch64)
Úlohy běží jako admin, ne v kontejneru, a stránka CI to říká: nechte je spouštět jen workflow, kterým důvěřujete
05 · Editor
VS Code v prohlížeči, s vaším AI asistentem
Každý vývojář dostane vlastní VS Code v prohlížeči (code-server). Jeho terminál má v cestě git, svn, node, npm, rsync a curl a jediný příkaz vás přenese do plnohodnotného linuxového prostředí. Na stránce Editor settings nainstalujte Claude Code, Gemini CLI nebo Codex CLI; každý projekt, který průvodce vytvoří, obsahuje skill, který AI asistenta naučí, jak QNAP NAS funguje v shellu.
Jedna instance na účet; při nečinnosti se zastaví, ale nikdy, dokud v jejím terminálu ještě běží nějaký program
Rozšíření z Open VSX
Zobrazení Ports otevře vývojový server, který jste právě spustili na NAS
Terminál je rootovský shell na NAS, proto je role developer pro lidi, kterým byste svěřili heslo admina
06 · SVN & Bucket
Buckety, které si pamatují každé uložení
Bucket je síťový disk, na kterém se z každého uloženého souboru stane revize. Otevřete kteroukoli starší verzi, porovnejte ji s jinou a vraťte ji jako novou revizi, takže se nic neztratí. Repozitáře Subversion jsou hned vedle bucketů, se stejnými účty.
Funguje s macOS Finder, rclone, davfs2, Cyberduck, WinSCP a curl
Oprávnění pro každý repozitář: čtení a zápis, čtení, nebo žádná, pro každý účet
Soubory ._* a .DS_Store z Finderu ve výchozím stavu do historie nepatří
Volitelné webové zobrazení jen pro čtení ukáže soubory, historii a rozdíly i lidem bez účtu
07 · Toolchains
Skutečný Linux na vašem NAS
Rozbalte Debian, Ubuntu nebo Alpine do prostředí na NAS a pracujte v něm jako na kterémkoli linuxovém počítači. V Debianu a Ubuntu funguje apt install a to, co nainstalujete, zůstane. Potřebná běhová prostředí a kompilátory přidáte z podepsaného katalogu a každé stažení se před použitím ověří podle svého sha256.
Debian 12 a 13, Ubuntu 22.04 a 24.04, Alpine 3.22
Python, Go, Node.js, Zig, Rust, CMake, Ninja a Java
Křížové toolchainy Bootlin pro aarch64, x86-64 a armv7 (na NAS s x86_64)
QDK 2.5.0 od QNAP a bvs qbuild pro sestavení QPKG z libovolné složky se souborem qpkg.cfg
Prostředí naklonujte, exportujte nebo smažte; shell v něm otevřete z panelu
08 · App Builder
App Builder: od receptů k QPKG
Vyberte programy z 523 receptů, zvolte, jak se mají linkovat, a sestavte je. App Builder všechno zkompiluje do jedné složky uvnitř prostředí a pak zkontroluje každý program dřív, než sestavení nahradí to předchozí. Aktivujte aplikaci a její programy poběží na NAS, nebo ji exportujte jako samostatný QPKG.
Knihovny, shelly, nástroje a servery: bash, zsh, coreutils, curl, git, jq, rsync, tmux, htop, nginx, redis, openssh, PowerDNS a další
Každý recept fixuje svůj zdroj pomocí sha256 a svůj výsledek dokládá kontrolou
Čtyři způsoby linkování; bundle si nese vlastní knihovny a z NAS potřebuje jen knihovnu C
Křížová sestavení pro aarch64 a armv7
Neúspěšné sestavení nechá aplikaci tak, jak byla
09 · Dependencies
Podívejte se, co každá binárka potřebuje
„Library not found“ by na NAS nemělo být překvapením. Karta Dependencies přečte každý soubor ELF sestavení, aniž by ho spustila, a ukáže, co který potřebuje a kde to zavaděč NAS najde. Chybějící knihovna, verze, kterou knihovna nedefinuje, nebo RUNPATH mířící mimo aplikaci se stane nálezem i s opravou.
Opravy jedním tlačítkem, kde nějaké jsou: přidat recept a sestavit, přepnout způsob linkování, upravit RUNPATH
Graf nebo strom všech souborů, knihoven aplikace a knihoven NAS
Nástroj pro úpravy (Patch tool) s náhledem před a po
bvs ldd a bvs deps vám dají stejné odpovědi v shellu
10 · Kernels
Dílna jádra pro jádro, které používáte
Potřebujete ovladač, který QNAP nedodává? Dílna jádra přečte, co o sobě říká běžící jádro, připraví odpovídající strom jádra a sestaví proti němu váš modul. Každý modul se před načtením zkontroluje proti běžícímu jádru a modul, který kontrolou neprojde, se nikdy nenačte.
Profil: vydání, kompilátor, vermagic a rozložení struct module
Strom GPL od QNAP, pokud ho QNAP zveřejnil, jinak strom z kernel.org
Sestavte vlastní modul nebo ovladač ze stromu jádra, například ovladač USB-serial ch341
Načtěte modul spolu s moduly, na kterých závisí; aplikace může nést své moduly
11 · Packages
Vlastní repozitář pro App Center
Publikujte své balíčky QPKG do repozitáře App Center v balíčku, přidejte jeho adresu v App Center na svých dalších NAS a instalujte z něj jako z kteréhokoli jiného repozitáře. O tom, kterou verzi App Center uvidí, rozhodujete vy.
Každá verze zůstává ke stažení; jedna je uvedená jako nejnovější
Nahrávání ze stránky Packages, z workflow CI nebo pomocí bvs repo publish
12 · Publish
Na internetu, bez otevírání portu
Stránka Publish zveřejní panel, Forgejo a repozitář balíčků pod jmény vaší vlastní domény, jejíž DNS je u Cloudflare. cloudflared se z NAS připojuje ven, takže se na routeru neotevírá žádný port, a certifikáty drží Cloudflare. Každý požadavek dál prochází vlastní kontrolou přístupu balíčku a bez účtu se otevře jen to, co jste zveřejnili.
Všechno se nejdřív ověří u Cloudflare; neúspěšná kontrola nic nezmění
Hlavní název hostitele pro panel a Forgejo a název hostitele pro balíčky do App Center na dalších NAS
Volitelné předvolby mezipaměti pro balíčky a soubory panelu
Remove from Cloudflare vezme zpět záznamy, pravidla mezipaměti a tunel, které vytvořil
13 · Backups
Zálohy a každodenní práce
Denní zálohy Gitu, SVN, bucketů, nastavení a nastavení VS Code uchovávají posledních 7 dní, 4 týdny a 6 měsíců. Kopie jdou do složky na NAS, přes rsync a SSH, nebo kamkoli, kam dosáhne rclone, a každá kopie, která opouští NAS, je šifrovaná pomocí age.
Verify přečte celý běh zálohy zpět: každý sha256, svnadmin verify, git fsck
Obnovte všechno, nebo jediný repozitář, zatímco moduly běží dál; nic se nenahradí, dokud to není ověřené
Úlohy cron na NAS nebo uvnitř prostředí, s časovými pásmy, časovými limity a upozorněním, když běh selže
Protokoly, upozornění a diagnostický balíček, vše z panelu
14 · Examples
Velké projekty v ceně
Galerie příkladů obsahuje 63 hotové příklady, které použijete jedním kliknutím. Některé z nich jsou celé produkty. TurboDNS sestaví z receptů PowerDNS Authoritative Server 5.1.4, přidá panel zón a obojí zabalí do QPKG s workflow CI; MailServerPro dělá totéž pro Postfix, Dovecot, Rspamd a Roundcube a WebHostPro pro nginx, Apache httpd, PHP a databáze.
Poštovní server sestavený ze zdrojových kódů. Postfix pro SMTP, Dovecot s Pigeonhole pro IMAP, POP3, Sieve a ManageSieve, Rspamd s Valkey proti spamu, ClamAV a fail2ban proti hádání hesel. Podepisování DKIM, SPF, DMARC a ARC, greylisting, MTA-STS a DANE přes vlastní validující resolver. Roundcube pro webmail, CalDAV a CardDAV pro kalendáře a kontakty a Z-Push pro Exchange ActiveSync. Více domén, schránky s kvótami, aliasy, catch-all, přeposílání a automatické odpovědi v nepřítomnosti jsou v jedné databázi. Administrační panel přidává domény, schránky a klíče DKIM, vypisuje záznamy DNS, které každá doména potřebuje, ukazuje frontu a protokoly a zálohuje každou schránku. App Builder kompiluje jeho recepty na NAS; jediný cíl make z aplikace udělá QPKG.
Panel zón v devíti jazycích, kde je každá změna nejdřív zkušebním během
Snímky, předvolby, kontroly šíření a DNSSEC
Odesílání do Cloudflare a OVH se zkušebním během a zpětným čtením
18 aplikací, 9 prostředí, 6 workflow CI, 5 úloh cron a 25 projektů Editoru v galerii
Velké projekty na obrazovce
ukázková data
WebHostPro (webový server), TurboDNS (server DNS) a MailServerPro (poštovní server) jsou projekty Editoru z galerie příkladů, každý zabalený jako QPKG s vlastním panelem.
WebHostProStránka Sites: každý web s typem, serverem, TLS a stavem a značka u webu, jehož nastavení domény je ještě otevřené.
WebHostProPrůvodce doménou na kroku Registrar: jmenné servery a glue záznamy, které se zadávají tam, kde byla doména koupena, každý s tlačítkem pro kopírování, a přesměrování na routeru.
WebHostProKontrolní seznam „Finish setting up“ v přehledu (Overview) webu: záznamy odeslané do TurboDNS, hodnoty pro registrátora a živá kontrola (Live check), která čte jmenné servery nadřazené zóny, TurboDNS na tomto NAS, tři veřejné resolvery a front.
WebHostProKarta PHP webu s PHP: verze a časové pásmo, limity, chyby, relace, OPcache a JIT, APCu, rozšíření, další řádky php.ini a procesy PHP, každé pole s „?“, které říká, co dělá.
WebHostProStránka Databases: karta pro každý databázový server, MariaDB a Percona Server, s buffer poolem, počtem spojení, časem pomalého dotazu a dalšími řádky my.cnf, kontrolovanými podle vlastního seznamu voleb serveru; změna je koncept a použití server restartuje.
TurboDNSZóny: seznam zón a formulář nové zóny s jejími jmennými servery a režimem sériového čísla.
TurboDNSZáznamy zóny: její sériové číslo a stav podpisu, sady záznamů a formulář, který přidá další.
TurboDNSNová sada záznamů zkontrolovaná zkušebním během: seznam ukazuje, co se přidá, nahradí nebo smaže, dřív než se cokoli změní.
MailServerProPřehled: deset služeb s jejich stavem a počty domén, schránek, aliasů a zpráv ve frontě.
MailServerProDomény: každá doména se stavem, schránkami a catch-all a tlačítky pro její záznamy DNS, zapnutí či vypnutí a smazání.
MailServerProZáznamy DNS domény k publikování: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, autoconfig a SRV, každý s důvodem.
MailServerProSchránky: adresa, jméno, využití a kvóta, stav a přeposílání, pod tím formulář pro přidání.
MailServerProNastavení: název hostitele, certifikát, velikost zpráv a rychlost odesílání, MTA-STS a DANE, prahy spamu, greylisting, ClamAV, fail2ban a zálohy.
1 / 13
Panely jsou skutečné, otevřené v prohlížeči na sestavovacím počítači. Jejich data jsou vymyšlená: názvy pod example.org a example.test, adresy z rozsahů pro dokumentaci a místní adresy.
Pro koho je
Vývojáři, kteří chtějí mít svůj kód, svá sestavení a své CI na hardwaru, který jim patří.
Pokročilí uživatelé QNAP, kteří si sestavují vlastní QPKG, nástroje pro příkazový řádek a servery pro NAS.
Malé týmy, které potřebují soukromý Git, issues a pull requesty bez předplatného cloudu.
Kutilové, kteří potřebují modul jádra, který QNAP nedodává.
Každý, kdo chce mít každou verzi souboru na síťovém disku, se kterým už umí pracovat Finder, rclone a davfs2.
Požadavky
QTS 6.0 nebo QuTS hero 6.0 či novější
QNAP NAS s x86_64 nebo 64bitovým ARM
Jeden balíček pro každou architekturu, instalovaný z App Center
Udělejte ze svého NAS dílnu.
Nainstalujte Bucket & Code Server IDE, přihlaste se a zapněte moduly, které potřebujete.