選擇符合你 NAS 架構的模板與功能。
| 專案類型 | 架構 | 限制 |
|---|
native-go,搭配 plain 或 Vue UI | x86_64、aarch64、armv7 | manifest 預設為 x86_64、aarch64;armv7 的 executor、jobs 與 daemon 已建置,但尚未在 NAS 上驗證。 |
binary | x86_64、aarch64、armv7 | 每個已宣告架構都需要靜態 CGI 執行檔。 |
compose | x86_64、aarch64 | 需要 Container Manager;未使用 gateway 的專案會產生不限定架構的 SPK。 |
| Native layout | x86_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、monaco | DSM 7.2 或更新的平台;產生的 SPK 不包含其他 armv7 機型。 |
| 原生能力或功能 | x86_64 | aarch64 | armv7 | 後端需求 |
|---|
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 Manager | 7.2.1-69057 | init 與 build 會強制檢查;check 不會檢查容器最低版本。 |
| 原生「應用程式入口網站 (Application Portal)」 | 7.1-42661 | 宣告與建置。 |
| root 操作 | 7.1-42661 | manifest 驗證與加入能力時會強制檢查。 |
--min-dsm 簡寫 | 完整版本/組建編號 |
|---|
7.0 | 7.0-41890 |
7.1 | 7.1-42661 |
7.2 | 7.2-64570 |
7.2.1 | 7.2.1-69057 |
| 完整 DSM 7 版本/組建編號 | 7.<minor>[.<patch>]-<build>;仍需符合功能最低版本 |
在開發機器安裝你的專案需要的工具。
| 工具或建置項目 | 需求 | 備註 |
|---|
| CLI 使用的 Node.js | CLI 套件未宣告最低版本 | 儲存庫 CI 使用 Node.js 22.19.0;無法僅據此推定 CLI 最低版本。 |
| 此網站使用的 Node.js | 22.19.0 或更新 | 網站套件的需求。 |
| Native-go 後端與 jobs | Go 1.25.0 module;選用 toolchain 1.26.9 | Toolchain 選擇可能下載 Go 1.26.9;離線建置時請先備妥。 |
| Compose DSM 驗證 gateway | Go 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 | 英文 | enu | en.json(必備的後備語言) |
zh-TW | 繁體中文 | cht | zh-TW.json |
zh-CN | 簡體中文 | chs | zh-CN.json |
ja | 日文 | jpn | ja.json |
ko | 韓文 | krn | ko.json |
de | 德文 | ger | de.json |
fr | 法文 | fre | fr.json |
es | 西班牙文 | spn | es.json |
it | 義大利文 | ita | it.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 字元 |