Getting started
This path takes you from a blank project to a Personal App on your NAS — opened with your DSM account, no extra platform password.
The 15-minute target is a product standard that can fail. It assumes Docker and synopkgland on your laptop, and SynoPkgLandService plus Container Manager already on the target NAS. You do not need a Pull Request, DDNS, a public domain, or a hand-written SPK.
Prerequisites
- Docker on your development machine.
- synopkgland from @synopackageland/cli, or a Skill Pack loaded in your agent. Public npm may not be published yet; the package name is the intended install target.
- Target NAS with SynoPkgLandService and Container Manager installed.
Golden path
- Initialize a project. Pick a template that matches your intent: hello-web (identity only), hello-files (identity + Shared Folder Mount), or compose-import (wrap an existing compose.yaml).
synopkgland init -t hello-web - Develop locally. Docker Compose runs on your laptop with a mock Broker — fake User Context and a fake file tree. Platform SDK calls the same API shape as on a real NAS.
synopkgland dev - Validate and test. Fix schema and Compose cross-references before you touch the NAS. Tests prove contract and local Compose readiness; they do not prove real DSM ACL.
synopkgland validate synopkgland test - Deploy to your NAS. Inner Loop Deploy generates a thin SPK, asks the NAS Administrator to authorize through DSM, writes Local Attestation, and installs a Personal App. No SSH and no pasting Compose into Container Manager by hand.
synopkgland deploy --host <nas> - Open in DSM. Press Open in Package Center or DSM. If you are already signed into DSM, the App does not ask for another password. Browser SDK requireLogin and File API (if declared) run against real DSM identity and ACL.
What you did not need
- Hand-written SPK INFO, wizard, or package scripts.
- A Community Repository Pull Request (that is the publish path, not a prerequisite).
- DDNS, DNS, fixed domain, router rules, or port forwarding for the default entry.