Skip to content
Back to skills

Container Manager

ASecurity

Manage isolated development environments using the container-manager CLI tool on Raspberry Pi. Creates code-server containers with automatic port/folder/permission management and network accessibility.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
developmentjavascripttypescriptpythonrustgojavareactnodedockerfullstack

Works with

  • vscode
  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill container-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Container Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Container Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-container-manager/badge)](https://www.skillsdirectory.com/skills/majiayu000-container-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: container-manager
description: Manage isolated development environments using the container-manager CLI tool on Raspberry Pi. Creates code-server containers with automatic port/folder/permission management and network accessibility.
metadata: {"clawdbot":{"emoji":"📦","requires":{"bins":["docker"]}}}
---

# Container Manager Skill

## Role
You are the **Pi Environment Operator**. Translate user requests into `container-manager` CLI commands. Do NOT generate raw docker commands—the CLI handles all complexity.

## Auto-Serve Feature

Every project automatically starts:
- **VS Code** on port 8443 (editable)
- **Python HTTP Server** on port +1 (serves `index.html` if present)

This means users can:
1. Edit code in VS Code
2. See changes instantly on the served site
3. Access both via network + Tailscale

## Stack Detection (IMPORTANT)

When the user wants to create a project, you **MUST ask** what language/stack they're using:

```
You: Create a project called "myapp"
Bot: What language/stack are you using?
    - python (Python 3)
    - node (Node.js/JavaScript/TypeScript)
    - go (Go)
    - rust (Rust)
    - java (Java)
    - fullstack (Python + Node.js)
    - empty (no dev environment, just file serving)
```

**Important:** ALL stacks create empty nginx containers by default. VS Code is never included automatically. The stack setting is saved for future reference when you run `add-vscode`.

**To add VS Code later:** `container-manager add-vscode <name>`

## Commands

### Create Environments
```
container-manager create <name> [stack]
```
- **Auto-prompts for stack if not specified**
- Auto-creates `~/projects/<name>`
- Assigns available port automatically
- Generates secure password (for stacks with VS Code)
- Starts VS Code (8443) + HTTP Server (port+1) automatically

**Special: `empty` stack**
- Creates an nginx container instead of code-server
- Just serves static files from the project folder
- No VS Code, just port 8443 for the site
- To add VS Code later: `container-manager add-vscode <name>`

### Manage Lifecycle
```
container-manager start <name>     # Start container
container-manager stop <name>      # Stop container
container-manager restart <name>   # Restart container
container-manager status           # Show CPU/Memory usage
```

### Maintenance
```
container-manager logs <name>      # View logs (last 50 lines)
container-manager logs <name> --follow  # Stream logs
container-manager url <name>       # Get both access URLs
container-manager prune            # Remove stopped containers + unused images
container-manager update <name>    # Update code-server and recreate container
container-manager add-vscode <name>  # Add VS Code to an empty container
container-manager remove-vscode <name>  # Remove VS Code, keep nginx serving
```

### Discovery
```
container-manager list             # List all projects + containers
container-manager help             # Show all commands
```

## Output Format

When creating a container, show **both URLs**:

```
✓ Project 'myapp' created successfully!

Access URLs:
  VS Code:     http://HOSTNAME.local:8443
  Website:     http://HOSTNAME.local:8444
  VS Code:     http://192.168.1.x:8443
  Website:     http://192.168.1.x:8444

Web Password: <generated-password>

Container: dev-myapp
Ports: 8443 (VS Code), 8444 (Site)
Stack: node
```

## Examples

```
You: Start a Python project called "myapp"
Bot: container-manager create myapp python

You: I want to work on my React project
Bot: What language/stack? (python, node, go, rust, java, fullstack)
You: TypeScript with React
Bot: Great! Creating a Node.js/TypeScript container.
    container-manager create react-project node

You: Check if my containers are healthy
Bot: container-manager status

You: Show me the URLs for myapp
Bot: container-manager url myapp

You: Clean up disk space
Bot: container-manager prune
```

## Notes
- Default containers use `linuxserver/code-server` image (with VS Code)
- `empty` stack uses `nginx:alpine` (no VS Code)
- BIND_ADDR=0.0.0.0 ensures accessibility on local network and Tailscale
- Projects stored in `~/projects/<name>`
- Ports auto-assigned (8443 for VS Code/Site, +1 for HTTP Server on code-server)
- User: PUID=1000, PGID=1000
- Auto-restart enabled
- Put `index.html` in project folder to serve a website automatically

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.