Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ ๐ณ P O R T A I N E R C O N T R O L C L I ๐ณ โ โ โ โ Manage Docker containers via Portainer API โ โ Start, stop, deploy, redeploy โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ "Docker containers? I'll handle them from my lily pad." ๐ธ
The Portainer Skill gives you control over your Docker infrastructure through Portainer's REST API. Manage containers, stacks, and deployments without touching the web UI. Features: ๐ Status โ Check Portainer server status ๐ฅ๏ธ Endpoints โ List all Docker environments ๐ฆ Containers โ List, start, stop, restart containers ๐ Stacks โ List and manage Docker Compose stacks ๐ Redeploy โ Pull from git and redeploy stacks ๐ Logs โ View container logs
WhatDetailsPortainerVersion 2.x with API accessToolscurl, jqAuthAPI Access Token
Get API Token from Portainer: Log into Portainer web UI Click username โ My Account Scroll to "Access tokens" โ Add access token Copy the token (you won't see it again!) Configure credentials: # Add to ~/.clawdbot/.env PORTAINER_URL=https://your-portainer-server:9443 PORTAINER_API_KEY=ptr_your_token_here Ready! ๐
./portainer.sh status Output: Portainer v2.27.3
./portainer.sh endpoints Output: 3: portainer (local) - โ online 4: production (remote) - โ online
# List containers on default endpoint (4) ./portainer.sh containers # List containers on specific endpoint ./portainer.sh containers 3 Output: steinbergerraum-web-1 running Up 2 days cora-web-1 running Up 6 weeks minecraft running Up 6 weeks (healthy)
./portainer.sh stacks Output: 25: steinbergerraum - โ active 33: cora - โ active 35: minecraft - โ active 4: pulse-website - โ inactive
./portainer.sh stack-info 25 Output: { "Id": 25, "Name": "steinbergerraum", "Status": 1, "EndpointId": 4, "GitConfig": "https://github.com/user/repo", "UpdateDate": "2026-01-25T08:44:56Z" }
./portainer.sh redeploy 25 Output: โ Stack 'steinbergerraum' redeployed successfully This will: Pull latest code from git Rebuild containers if needed Restart the stack
# Start a container ./portainer.sh start steinbergerraum-web-1 # Stop a container ./portainer.sh stop steinbergerraum-web-1 # Restart a container ./portainer.sh restart steinbergerraum-web-1 # Specify endpoint (default: 4) ./portainer.sh restart steinbergerraum-web-1 4 Output: โ Container 'steinbergerraum-web-1' restarted
# Last 100 lines (default) ./portainer.sh logs steinbergerraum-web-1 # Last 50 lines ./portainer.sh logs steinbergerraum-web-1 4 50
# After merging PR ./portainer.sh redeploy 25 ./portainer.sh logs steinbergerraum-web-1 4 20
./portainer.sh containers ./portainer.sh logs cora-web-1 ./portainer.sh restart cora-web-1
./portainer.sh status ./portainer.sh endpoints ./portainer.sh containers ./portainer.sh stacks
Problem: Stack redeploy fails with git auth error Solution: The stack needs repositoryGitCredentialID parameter. The script handles this automatically by reading from the existing stack config.
Problem: Container name doesn't match Solution: Use exact name from ./portainer.sh containers: Include the full name: steinbergerraum-web-1 not steinbergerraum Names are case-sensitive
Problem: Credentials not configured Solution: # Add to ~/.clawdbot/.env echo "PORTAINER_URL=https://your-server:9443" >> ~/.clawdbot/.env echo "PORTAINER_API_KEY=ptr_your_token" >> ~/.clawdbot/.env
"Redeploy the website" โ ./portainer.sh redeploy 25 "Show me running containers" โ ./portainer.sh containers "Restart the Minecraft server" โ ./portainer.sh restart minecraft "What stacks do we have?" โ ./portainer.sh stacks
VersionDateChanges1.0.02026-01-25Initial release
@..@ (----) ( >__< ) "Containers are just fancy lily pads ^^ ^^ for your code to hop around!" Author: Andy Steinberger (with help from his Clawdbot Owen the Frog ๐ธ) Powered by: Portainer API Part of: Clawdbot Skills Collection Made with ๐ for the Clawdbot Community Ribbit! ๐ธ
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.