Portainer

v1.0.0

Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.

3· 3.2k·8 current·8 all-time
byAndy Steinberger@asteinberger
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The name/description match the included script: it calls the Portainer REST API to list endpoints, control containers, view logs, and redeploy stacks. However the registry metadata only declares PORTAINER_API_KEY as a required environment variable while the script also requires PORTAINER_URL (and the SKILL.md instructs users to set PORTAINER_URL). This metadata omission is an inconsistency that could lead to confusion or misconfiguration.
Instruction Scope
Runtime instructions and the shell script stay within the stated purpose: they call Portainer API endpoints, read stack config to redeploy, and present logs. The script loads PORTAINER_* variables from ~/.clawdbot/.env (as instructed). This is expected, but the script will read that dotfile for PORTAINER_ variables — ensure that file only contains the intended tokens. The script does not appear to transmit data to any external endpoint other than the configured Portainer server.
Install Mechanism
This is instruction-only with an included shell script; there is no installer that downloads or executes remote code. That reduces supply-chain risk compared with arbitrary remote installs.
!
Credentials
The declared required env vars (metadata) list only PORTAINER_API_KEY but the script also requires PORTAINER_URL; the manifest should include both. The skill does not request unrelated credentials, which is good. The script also reads ~/.clawdbot/.env for PORTAINER_ keys (grep '^PORTAINER_') — that is reasonably scoped but you should ensure that file is protected. The script references Portainer-managed Git credential IDs when redeploying stacks (it uses those IDs from the stack config), which is expected behavior for redeploy, not a request for external Git secrets.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or system-wide configs, and contains no install-time persistence. It runs on demand and uses the provided API token to call the Portainer server.
What to consider before installing
What to check before installing: - Metadata mismatch: the manifest only lists PORTAINER_API_KEY but the script and SKILL.md also require PORTAINER_URL. Make sure you (or the platform) provide PORTAINER_URL in the environment; otherwise the script will fail. - Dotfile and token safety: the script will read PORTAINER_ variables from ~/.clawdbot/.env. Ensure that file is readable only by you and contains only intended PORTAINER_* values. - Binaries: the script uses curl and jq (declared) but also uses column and strings in output paths; ensure those are available on the host or the script may fail. (No remote installers are used.) - Default endpoint id: many commands default to endpoint id 4. Confirm that your Portainer setup uses that id or explicitly supply the endpoint id to avoid operating on an unexpected endpoint. - Least privilege: the skill will call Portainer with the provided API token. Use a token with the minimal necessary scope for the operations you plan to allow (avoid a full-administrator token if possible). - Source verification: the skill has no homepage and the owner id is opaque; if you need higher assurance, obtain the script from a trusted source or review / run it in an isolated test environment first. If you fix the manifest to declare PORTAINER_URL and confirm the above, the skill appears coherent with its described functionality.

Like a lobster shell, security has layers — review code before you run it.

latestvk97ej8sggzvh3qnq86e10kzat97zx3bn

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🐳 Clawdis
Binscurl, jq
EnvPORTAINER_API_KEY
Primary envPORTAINER_API_KEY

Comments