nanobot/skills/docker-container-deploy/SKILL.md
```skill --- name: docker-container-deploy description: Deploys a Docker container to a specified host, pulling the image if necessary. metadata: nanobot: emoji: 🐳 category: deployment tags: [docker, container, deployment, orchestration] --- ## Skill: Docker Container Deploy This skill allows you to deploy a Docker container to a target host. It handles image pulling and container creation. **Instructions:** 1. **Identify the Target Host:** Determine the hostname or IP addres
npx skillsauth add astoryh/pasb nanobot/skills/docker-container-deployInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: docker-container-deploy
description: Deploys a Docker container to a specified host, pulling the image if necessary.
metadata:
nanobot:
emoji: 🐳
category: deployment
tags: [docker, container, deployment, orchestration]
---
## Skill: Docker Container Deploy
This skill allows you to deploy a Docker container to a target host. It handles image pulling and container creation.
**Instructions:**
1. **Identify the Target Host:** Determine the hostname or IP address of the machine where you want to deploy the container. This is crucial for proper communication.
2. **Image Name:** Specify the Docker image you want to deploy. This can be a public image from Docker Hub (e.g., `nginx:latest`) or a private image accessible to the nanobot. Include the tag if necessary.
3. **Container Name:** Choose a unique name for the container on the target host.
4. **Ports (Optional):** If the container exposes any ports, specify them as a list of key-value pairs. The key is the host port, and the value is the container port. Example: `[ "8080:80", "443:443" ]`. If no ports are specified, the container will not be exposed.
5. **Environment Variables (Optional):** Provide a list of environment variables to set within the container. Specify them as a list of key-value pairs. Example: `[ "API_KEY=your_api_key", "DEBUG=true" ]`.
6. **Volumes (Optional):** Define any volumes to mount into the container. Specify them as a list of key-value pairs where the key is the container path and the value is the host path. Example: `[ "/data:/host/data" ]`.
7. **Command/Entrypoint (Optional):** If you need to override the container's default command or entrypoint, provide them as strings. `command: "python /app/main.py"` or `entrypoint: ["/usr/bin/java", "-jar", "/app/app.jar"]`.
8. **Restart Policy (Optional):** Set the restart policy for the container. Valid values are `no`, `on-failure`, `always`, and `unless-stopped`. Default is `no`.
9. **Execute:** The nanobot will connect to the target host via SSH (assuming SSH access is configured). It will then:
* Check if the image exists locally on the target host.
* If the image does not exist, it will pull the image from Docker Hub (or the specified registry).
* Create and start the container with the specified name, ports, environment variables, volumes, command/entrypoint, and restart policy.
* Verify that the container is running.
**Example Input:**
```json
{
"target_host": "192.168.1.100",
"image_name": "nginx:latest",
"container_name": "my_nginx_container",
"ports": ["8080:80"],
"environment": ["DEBUG=true"],
"restart_policy": "always"
}
Error Handling:
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi