Installation Guide
This page provides a detailed installation guide for MANYOYO, including prerequisites, installation steps, and image building.
System Requirements
Required
- Node.js >= 22.0.0
- Docker or Podman (Podman recommended)
Recommended
- Disk Space: At least 10GB available (for images and cache)
- Memory: At least 4GB RAM
- Network: Stable network connection (required for downloading dependencies on first build)
Verify Prerequisites
Before installing MANYOYO, confirm that required software is installed:
# Check Node.js version (requires >= 22.0.0)
node --version
# Check npm version
npm --version
# Check Docker or Podman
docker --version # or
podman --versionIf not installed, please install these software first:
Install Node.js
macOS/Linux:
# Using nvm (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 22
nvm use 22
# Or using system package manager
# macOS
brew install node@22
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejsWindows (Native):
- Download installer from Node.js official website (best for PowerShell/native Windows workflow)
Windows (WSL2):
- In WSL2, use the Linux-style installation flow, preferably
nvm(best for Bash/Linux workflow)
# Run inside WSL terminal
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 22
nvm use 22Install Podman (Recommended)
macOS:
brew install podman
# Initialize Podman machine
podman machine init
podman machine startLinux:
# Fedora/RHEL/CentOS
sudo dnf install podman
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install podman
# Arch Linux
sudo pacman -S podmanWindows:
- Download installer from Podman official website
Install Docker (Optional)
If choosing to use Docker instead of Podman:
macOS/Windows:
- Download Docker Desktop
Linux:
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Add user to docker group
sudo usermod -aG docker $USER
newgrp dockerInstall MANYOYO
Global Installation (Recommended)
Install MANYOYO globally using npm:
npm install -g @xcanwin/manyoyoNon-root Global npm Install (macOS/Linux/WSL)
If npm install -g xxx fails with EACCES / permission denied, use a user-owned global prefix instead of sudo:
mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrcNotes:
- This permission issue is common on macOS/Linux/WSL when Node.js uses a system-owned prefix (for example
/usr/local) - Native Windows environment does not use
sudo - If you use zsh, append PATH in
~/.zprofileor~/.zshrc
After installation, verify:
# Check version
manyoyo -v
# View help information
manyoyo -hLocal Development Installation
If you need to install from source (for development or testing):
# Clone repository
git clone https://github.com/xcanwin/manyoyo.git
cd manyoyo
# Install dependencies
npm install
# Global link (development mode)
npm install -g .
# Or use npm link
npm linkUpdate MANYOYO
Update to the latest version:
npm update -g @xcanwin/manyoyoCheck for updates:
npm outdated -g @xcanwin/manyoyoPull Base Image (Podman Users)
Podman Users Only
Docker users can skip this step. Docker will automatically pull the base image.
Podman users need to manually pull the Ubuntu base image:
podman pull ubuntu:24.04Verify the image:
podman images | grep ubuntuBuild Sandbox Image
MANYOYO uses custom container images that include pre-installed AI CLI tools and development environments.
Recommended Method: Build with manyoyo
# Build recommended version (common)
manyoyo build --iv 1.8.0-common
# Verify after build
docker images | grep manyoyo # or podman imagesAdvantages:
- Automatically uses cache to accelerate builds
- First build: Automatically downloads Node.js, JDT LSP, gopls, etc. to
docker/cache/ - Rebuilding within 2 days: Directly uses local cache, approximately 5x faster
- After cache expires: Automatically re-downloads latest versions
Build Options
Full Version (full)
Includes all supported AI CLI tools and development environments:
manyoyo build --iv 1.8.0-full
# Or explicitly specify build args
manyoyo build --iv 1.8.0-full --iba TOOL=fullIncluded Tools:
- Claude Code
- Codex
- Gemini
- OpenCode
- Python, Node.js, Go, Java development environments
- Common LSP servers
Image Size: Approximately 3-5 GB
Minimal Version (common)
Includes only commonly used components:
manyoyo build --iba TOOL=commonIncluded Tools:
- Claude Code
- Codex
- Python, Node.js basic environments
- Common CLI tools
Image Size: Approximately 1-2 GB
Use Cases:
- Limited disk space
- Using Claude Code / Codex
- Quick testing
Custom Version
Select specific tool combinations:
# Install only specified tools
manyoyo build --iba TOOL=go,codex,java,gemini
# Component descriptions:
# - python: Python environment
# - nodejs: Node.js environment
# - claude: Claude Code
# - codex: Codex
# - gemini: Gemini
# - opencode: OpenCode
# - go: Go environment and gopls
# - java: Java environment and JDT LSPCustom Image Name and Version
# Custom image name and version
manyoyo build --in myimage --iv 1.8.0-common
# Generates image: myimage:1.8.0-common
# Specify full image name
manyoyo build --in localhost/myuser/sandbox --iv 1.0.0-common
# Generates image: localhost/myuser/sandbox:1.0.0-commonSpecial Build Parameters
# Skip Git SSL verification (development environments only)
manyoyo build --iba GIT_SSL_NO_VERIFY=true
# Disable China mirrors (users outside China)
manyoyo build --iba NODE_MIRROR= --iba NPM_REGISTRY=
# Use custom mirror sources
manyoyo build --iba NODE_MIRROR=https://custom-mirror.comManual Build (Not Recommended)
If you need more control, you can manually use Docker/Podman commands:
iv=1.8.0
podman build \
-t localhost/xcanwin/manyoyo:$iv-full \
-f docker/manyoyo.Dockerfile . \
--build-arg TOOL=full \
--no-cacheManual Build Not Recommended
Manual builds will not use MANYOYO's cache mechanism, resulting in significantly longer build times.
Cache Mechanism
MANYOYO automatically manages build cache to accelerate repeated builds:
Cache Directory
docker/cache/
├── node-v22.x.x-linux-x64.tar.xz
├── gopls-v0.x.x-linux-amd64.tar.gz
├── jdt-language-server-x.x.x.tar.gz
└── ...Cache Validity Period
- Validity: 2 days
- First Build: Downloads all dependencies to cache directory
- Rebuilding within 2 days: Directly uses cache, approximately 5x faster
- After Cache Expires: Automatically re-downloads latest versions
Manual Cache Management
# View cache
ls -lh docker/cache/
# Clean cache (not recommended, will slow down next build)
rm -rf docker/cache/
# Manually update cache timestamps
touch docker/cache/*Verify Installation
After completing installation, perform the following verifications:
1. Verify MANYOYO Installation
# Check version
manyoyo -v
# View help
manyoyo -h2. Verify Image
# List images
docker images | grep manyoyo # or podman images
# Should see something like:
# localhost/xcanwin/manyoyo 1.8.0-common xxx xxx xxGB3. Initialize Agent Config (Recommended)
# Migrate existing claude/codex/gemini/opencode setup from host
manyoyo init all4. Create Test Container
# Create and run test container
manyoyo run -n test-container -x echo "MANYOYO works!"
# View container
manyoyo ps
# Delete test container
manyoyo rm test-container5. Test AI CLI Tools
# Use initialized run config (recommended)
manyoyo run -r claude
# Or only check CLI version
manyoyo run -n test -x claude --version
# Test Python
manyoyo run -n test -x python3 --version
# Test Node.js
manyoyo run -n test -x node --versionTroubleshooting
Installation issues are centralized in:
Run this minimal checklist first:
# Check network and disk
curl -I https://mirrors.tencent.com
df -h
# Build minimal image first to verify base pipeline
manyoyo build --iba TOOL=commonIf you hit permission denied, run:
sudo usermod -aG docker $USER
newgrp dockerUpgrade Guide
Upgrade MANYOYO
# Update to latest version
npm update -g @xcanwin/manyoyo
# Verify new version
manyoyo -vUpgrade Image
# Build new version image
manyoyo build --iv 1.8.0-common
# Update global configuration
cat > ~/.manyoyo/manyoyo.json << 'EOF'
{
"imageVersion": "1.8.0-common"
}
EOF
# Clean old images (optional)
manyoyo prune
docker system prune -a # or podman system prune -aUninstall
Uninstall MANYOYO
# Uninstall global installation
npm uninstall -g @xcanwin/manyoyo
# Delete configuration directory (optional)
rm -rf ~/.manyoyo/Clean Images and Containers
# Delete all MANYOYO containers
docker ps -a | grep my | awk '{print $1}' | xargs docker rm
# Delete all MANYOYO images
docker images | grep manyoyo | awk '{print $3}' | xargs docker rmi
# Clean dangling images
manyoyo pruneNext Steps
After installation, you can:
- Quick Start - Learn basic usage workflow
- Basic Usage - Learn common commands and operations
- Configuration System - Set environment variables and configuration files
- Command Reference - View all command-line options