2.1 KiB
2.1 KiB
name, description, argument-hint
| name | description | argument-hint |
|---|---|---|
| synology-docker-deploy | Use when scaffolding Docker packaging and direct SSH deployment to a Synology host for a project that should be ready to run after setup. | project-root=<path> service=<name> stack=<auto|node|python|generic> mode=<dry-run|apply> app-port=<port> container-port=<port> |
Synology Docker Deploy
Use this skill when you want a portable, repeatable setup for Dockerizing a project and deploying it to Synology over SSH without requiring a container registry.
Procedure
- Confirm required inputs:
project-root,service,stack, and deploy mode. - Run
resources/scripts/scaffold-synology-deploy.shto scaffold Docker and deployment files directly into the target project. - Prefer
--mode dry-runfirst to review planned changes before writing files. - For Node projects, let the scaffold update
package.jsonscripts so deploy commands are available immediately. - Copy
deploy/synology/deploy.env.exampletodeploy/synology/deploy.envand provide environment values. - Run
bash deploy/synology/deploy.sh --dry-runfrom the target project to verify inputs and planned remote actions. - Run
bash deploy/synology/deploy.shfor actual deploy once dry-run output looks correct. - Use
DEPLOY_TARGET=internalorDEPLOY_TARGET=externalto switch between internal and external host routing without changing scripts.
Outputs
Dockerfile(stack-aware default).dockerignoredeploy/synology/deploy.shdeploy/synology/deploy.env.exampledeploy/synology/compose.yamldeploy/synology/README.md- Optional
package.jsonscript updates for Node projects
Do Not Use
- Do not use this workflow when the project requires a registry-only release pipeline.
- Do not use this workflow when Kubernetes manifests are the primary deployment target.
- Do not store secrets in generated files committed to source control.
Notes
- This workflow is environment-variable-first and keeps secrets out of the repo.
- The generated deploy path uses direct
docker save+scp+ remotedocker loadon Synology.