跳到內容
Syno Package Land
語言: 繁體中文

平台與限制

選擇符合你 NAS 架構的模板與功能。

專案類型架構限制
native-go,搭配 plain 或 Vue UIx86_64、aarch64、armv7manifest 預設為 x86_64、aarch64;armv7 的 executor、jobs 與 daemon 已建置,但尚未在 NAS 上驗證。
binaryx86_64、aarch64、armv7每個已宣告架構都需要靜態 CGI 執行檔。
composex86_64、aarch64需要 Container Manager;未使用 gateway 的專案會產生不限定架構的 SPK。
Native layoutx86_64、aarch64、armv8、armv7使用你的 payload 配置與建置 hooks;僅限 check、build 與 inspect。
x86_64、aarch64 NAS 平台該架構的所有 DSM 平台INFO arch 全部列出,與套件來源比對的平台相同;包含 broadwellntb、coffeelake、skylaked 與 rtd1619。
armv7 NAS 平台alpine、alpine4k、armada38x、monacoDSM 7.2 或更新的平台;產生的 SPK 不包含其他 armv7 機型。
原生能力或功能x86_64aarch64armv7後端需求
files: session是是是Go
identity: standalone(login)是是是Go 與 Vue UI 建置
jobs是是是Go
delegate是是是Go;管理員核准
rootOps是是是root scripts 與管理員核准;binary manifest 允許此宣告
daemon是是是Go 或 binary
install.sharedFolder是是使用 Go 時支援Go 或 binary;CLI init 選項僅適用於 native-go
entry是是是Go 與 entry gate
portal是是是Go、Rust、Python、Node 或 binary,且需 rootOps 或 delegate;需符合 portal 最低 DSM 版本

模板預設值與功能最低版本必須同時滿足。

模板或功能最低 DSM驗證
native-go、binary 模板預設7.1-42661基本 manifest 驗證版本/組建編號格式;此值為模板預設。
列出的 armv7 平台DSM 7.2產生的平台清單不包含僅有 DSM 7.0/7.1 的機型。
Compose/Container Manager7.2.1-69057init 與 build 會強制檢查;check 不會檢查容器最低版本。
原生「應用程式入口網站 (Application Portal)」7.1-42661宣告與建置。
root 操作7.1-42661manifest 驗證與加入能力時會強制檢查。
--min-dsm 簡寫完整版本/組建編號
7.07.0-41890
7.17.1-42661
7.27.2-64570
7.2.17.2.1-69057
完整 DSM 7 版本/組建編號7.<minor>[.<patch>]-<build>;仍需符合功能最低版本

在開發機器安裝你的專案需要的工具。

工具或建置項目需求備註
CLI 使用的 Node.jsCLI 套件未宣告最低版本儲存庫 CI 使用 Node.js 22.19.0;無法僅據此推定 CLI 最低版本。
此網站使用的 Node.js22.19.0 或更新網站套件的需求。
Native-go 後端與 jobsGo 1.25.0 module;選用 toolchain 1.26.9Toolchain 選擇可能下載 Go 1.26.9;離線建置時請先備妥。
Compose DSM 驗證 gatewayGo 1.21 或更新;固定以 Go 1.26.9 建置透過 DSM 驗證的 web App 需要;headless/public Compose 套件不建置 gateway。
Daemon 建置Go 1.21 或更新;固定以 Go 1.26.9 建置也需要你的 payload 建置工具。
root 操作/delegate 建置Go 1.21 或更新;固定以 Go 1.26.9 建置Native-go 專案也需要後端 toolchain。

CLI 一律以 Go 1.26.9 編譯 executor、lifecycle helper、daemon controller 與 gateway(GOTOOLCHAIN=go1.26.9,忽略你設定的 GOTOOLCHAIN、GOFLAGS 與 GOAMD64/GOARM64),因此每位建置者產出相同的 bytes 與相同的 executor digest。你的 go 不是這個版本時,Go 會下載它。離線或下載被擋時,建置會失敗並指出需要 Go 1.26.9;請把 go1.26.9 放進 PATH,或讓 GOPROXY 可以提供 golang.org/toolchain。產物的 build info 若記錄其他 Go 版本,建置也會拒絕。executor 與 lifecycle helper 來自 backend/go.mod 要求的 SDK 版本(Go module github.com/synopackageland/syno-pkg-land-sdk/executor)。build 會把它們的 SHA-256 與 CLI 為該版本附帶的 digest 比對,不符時以 EXECUTOR_DIGEST_MISMATCH 停止。

你自己給 armv7 的 Go 程式,例如 native-go 後端、daemon payload 或 binary CGI,也請用 Go 1.26.9 編譯。在 DS416(alpine4k、DSM 7.1.1、kernel 3.10.108)上,以 Go 1.26.0 編譯的 armv7 程式一啟動就崩潰(futexwakeup ... returned -22 與 SIGSEGV);同一個程式改用 Go 1.26.9 編譯就能執行。其他 Go 1.26 版本未測試。CLI 不會檢查你自己的 binary 用哪個 Go 版本編譯。 | Binary 模板建立 | Go 指令 | init -t binary 會建置範例 CGI 執行檔;打包你自己的預先建置執行檔時,不需要編譯後端。 | | Vue 前端 | Node.js、npm 與已安裝的專案依賴套件 | build 前先在 frontend/ 執行 npm install;建置不會安裝依賴套件。 | | 本機 Compose dev/test | Docker 與 docker compose | 啟動及檢查本機容器需要。 | | Native layout | 建置 hooks 需要的工具 | 為每個已宣告架構提供工具。 |

訊息檔名使用 locale tag;DSM 使用下列語言代碼。

Locale語言DSM 代碼訊息檔
en英文enuen.json(必備的後備語言)
zh-TW繁體中文chtzh-TW.json
zh-CN簡體中文chszh-CN.json
ja日文jpnja.json
ko韓文krnko.json
de德文gerde.json
fr法文frefr.json
es西班牙文spnes.json
it義大利文itait.json
其他 DSM 語言英文後備—en.json
i18n 規則限制
訊息目錄每個提供的 locale 都必須有與英文相同的鍵與預留位置。
套件中心翻譯i18n.info 接受支援的 locale,但不包含 en;英文文字使用頂層欄位。
詞彙表列出的每則訊息都使用對應 locale 的詞彙,不區分大小寫。

root scripts 應保持簡短,並符合輸出上限。

功能限制
root 操作 script最多 16 KiB;固定的 root/<name>.sh,不接受呼叫端提供的指令參數
root 操作執行最多 20 秒
root 操作輸出stdout 與 stderr 合計最多 1 MiB
Binary CGI每個執行檔最多 256 MiB
Daemon payload每個架構最多 512 MiB;不接受符號連結或 setuid/setgid 檔案
Delegate 目的地鍵1–64 個不重複的鍵,每個最多 64 字元
參考用途
CLI架構選項與建置指令
原生 manifest能力組合與驗證規則
Compose manifest容器設定
錯誤碼驗證失敗與處理方式