Unofficial

Bucket & Code Server IDE

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.

Co umí

na NAS, který už máte

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.

WebHostPro: Sites
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é.
WebHostPro: Průvodce doménou
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.
WebHostPro: Nastavení domény
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.
WebHostPro: Karta PHP
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á.
WebHostPro: Databases
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.
TurboDNS: Zóny
TurboDNSZóny: seznam zón a formulář nové zóny s jejími jmennými servery a režimem sériového čísla.
TurboDNS: Záznamy zóny
TurboDNSZáznamy zóny: její sériové číslo a stav podpisu, sady záznamů a formulář, který přidá další.
TurboDNS: Zkušební běh
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í.
MailServerPro: Přehled
MailServerProPřehled: deset služeb s jejich stavem a počty domén, schránek, aliasů a zpráv ve frontě.
MailServerPro: Domény
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í.
MailServerPro: Záznamy DNS domény
MailServerProZáznamy DNS domény k publikování: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, autoconfig a SRV, každý s důvodem.
MailServerPro: Schránky
MailServerProSchránky: adresa, jméno, využití a kvóta, stav a přeposílání, pod tím formulář pro přidání.
MailServerPro: Nastavení
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.

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.