From sundial-org-awesome-openclaw-skills-4
Manage Docker containers and stacks via Portainer API: list endpoints/containers/stacks, start/stop/restart containers, view logs, redeploy stacks from Git repos. Useful for Docker ops without UI.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
```
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ ๐ณ 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:
| What | Details |
|---|---|
| Portainer | Version 2.x with API access |
| Tools | curl, jq |
| Auth | API Access Token |
Get API Token from Portainer:
Configure credentials:
# Add to ~/.clawdbot/.env
PORTAINER_URL=https://your-portainer-server:9443
PORTAINER_API_KEY=ptr_your_token_here
Ready! ๐
status โ Check Portainer Server./portainer.sh status
Output:
Portainer v2.27.3
endpoints โ List Environments./portainer.sh endpoints
Output:
3: portainer (local) - โ online
4: production (remote) - โ online
containers โ List Containers# 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)
stacks โ List All Stacks./portainer.sh stacks
Output:
25: steinbergerraum - โ active
33: cora - โ active
35: minecraft - โ active
4: pulse-website - โ inactive
stack-info โ Stack Details./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"
}
redeploy โ Pull & Redeploy Stack ๐./portainer.sh redeploy 25
Output:
โ Stack 'steinbergerraum' redeployed successfully
This will:
start / stop / restart โ Container Control# 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
logs โ View Container Logs# 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:
steinbergerraum-web-1 not steinbergerraumProblem: 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
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-01-25 | Initial 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! ๐ธ