Docker containers for running OpenCode with different plugin and agent configurations.
The project uses a base + variant architecture: a shared base image (opencode-base) provides all common dependencies and skills, and each variant adds its own specific plugins, skills, or agent frameworks on top.
| Image | Description | Added On Top of Base |
|---|---|---|
opencode-superpowers |
Superpowers plugin & skills | Development workflow skills (brainstorming, TDD, debugging, code review) |
opencode-ralph |
Ralph skills | Ralph-specific skills |
opencode-oh-my-opencode |
Oh-My-OpenCode agent framework | Specialized sub-agents (sisyphus, prometheus, oracle, librarian, and more) |
A Makefile is provided to build the base and variant images.
# Build all variants (automatically builds base first)
make all
# Build a specific variant
make superpowers
make ralph
make oh-my-opencode
# Build only the base image
make baseThe build dependency chain is:
opencode-base
├── opencode-superpowers
├── opencode-ralph
└── opencode-oh-my-opencode
All variants share the opencode-base image, which includes:
- OS: Ubuntu (latest)
- Tools: git, curl, jq, make, vim, ripgrep, wget, zip, openssh-client, postgresql-client, GitHub CLI
- Runtime: Node.js LTS (via nvm), Playwright Chromium
- OpenCode CLI:
opencode-ai@latest - Provider: Parasail (pre-configured), Context7, or Tavily (via
opencode.json)
The base image comes with the following skill sets:
Anthropic Skills - Document processing and creative/technical skills:
xlsx- Excel spreadsheet processingdocx- Word document processingpptx- PowerPoint presentation processingpdf- PDF document processingalgorithmic-art- Generative art creationbrand-guidelines- Brand consistencycanvas-design- Visual designdoc-coauthoring- Document collaborationfrontend-design- UI/UX designinternal-comms- Internal communicationsmcp-builder- MCP server developmentskill-creator- Custom skill creationslack-gif-creator- Slack GIF creationtheme-factory- Theme stylingweb-artifacts-builder- Web artifact buildingwebapp-testing- Web application testing
Note: Some document skills (docx, pdf, pptx, xlsx) are source-available, not Apache 2.0. See anthropics/skills for licensing details.
Spiermar Skills & Agents - Custom skills and agents.
Vercel Labs Skills - Utility skills.
Adds the Superpowers plugin and skills. Includes development workflow skills such as brainstorming, TDD, debugging, code review, and more.
Adds Ralph skills for specialized workflows.
Adds the Oh-My-OpenCode agent framework with specialized sub-agents, each mapped to a Parasail model:
| Agent | Model | Role |
|---|---|---|
| sisyphus | GLM-5 | Plans, delegates, and executes complex tasks with parallel execution |
| prometheus | GLM-5 | Strategic planner with interview mode |
| metis | GLM-5 | Pre-planning analysis and ambiguity detection |
| momus | GLM-5 | Plan validation and review |
| oracle | GLM-5 | Architecture decisions, code review, debugging |
| librarian | GLM-4.7 | Multi-repo analysis and documentation lookup |
| explore | GLM-4.6V | Fast codebase exploration |
| multimodal-looker | GLM-4.6V | Visual content analysis (PDFs, images, diagrams) |
| Variable | Required | Default | Description |
|---|---|---|---|
PARASAIL_API_KEY |
If using Parasail | - | API key for Parasail provider |
CONTEXT7_API_KEY |
If using Context7 | - | API key for Context7 provider |
TAVILY_API_KEY |
If using Tavily | - | API key for Tavily provider |
GITHUB_TOKEN |
Yes | - | GitHub token for gh CLI authentication |
CODENOMAD_SERVER_PASSWORD |
Server mode | - | Password for CodeNomad server access |
GIT_EMAIL |
No | opencode@local |
Git commit email |
GIT_NAME |
No | OpenCode |
Git commit author name |
MODE |
No | server |
Run mode: server or interactive |
CLI_PORT |
No | 9898 |
Server port (server mode only) |
CLI_HOST |
No | 127.0.0.1 |
Interface to bind (server mode only) |
The container comes pre-configured with Parasail as the default provider. You can switch to Context7 or Tavily by creating an opencode.json file in your workspace:
{
"schema": "https://opencode.ai/schemas/opencode.json",
"model": "claude-sonnet-4-20250514",
"provider": "context7"
}Then run with:
docker run -d \
-e CONTEXT7_API_KEY="your-context7-key" \
-e GITHUB_TOKEN="your-github-token" \
-e CODENOMAD_SERVER_PASSWORD="your-password" \
-v /path/to/workspace:/home/opencode/workspace \
opencode-superpowers{
"schema": "https://opencode.ai/schemas/opencode.json",
"model": "claude-sonnet-4-20250514",
"provider": "tavily"
}Then run with:
docker run -d \
-e TAVILY_API_KEY="your-tavily-key" \
-e GITHUB_TOKEN="your-github-token" \
-e CODENOMAD_SERVER_PASSWORD="your-password" \
-v /path/to/workspace:/home/opencode/workspace \
opencode-superpowersReplace opencode-superpowers below with your chosen variant (opencode-ralph, opencode-oh-my-opencode).
Starts a CodeNomad server that exposes OpenCode over HTTPS:
docker run -d \
-e PARASAIL_API_KEY="your-api-key" \
-e GITHUB_TOKEN="your-github-token" \
-e CODENOMAD_SERVER_PASSWORD="your-password" \
-e CLI_HOST="0.0.0.0" \
-p 9898:9898 \
-v /path/to/workspace:/home/opencode/workspace \
opencode-superpowersStarts a bash shell for direct interaction:
docker run -it \
-e PARASAIL_API_KEY="your-api-key" \
-e GITHUB_TOKEN="your-github-token" \
-e MODE=interactive \
-v /path/to/workspace:/home/opencode/workspace \
opencode-superpowersOnce inside the container, you can run opencode directly.
docker run -d \
-e PARASAIL_API_KEY="your-api-key" \
-e GITHUB_TOKEN="your-github-token" \
-e CODENOMAD_SERVER_PASSWORD="your-password" \
-e CLI_HOST="0.0.0.0" \
-e CLI_PORT=8080 \
-p 8080:8080 \
-v /path/to/workspace:/home/opencode/workspace \
opencode-superpowers