ralph-claude-code/docker/ralph-docker.ps1
Claude c01133bd8d
feat(docker): add Docker-based Windows and cross-platform support
Enables Ralph to run inside a Docker container for Windows users
(via Docker Desktop) and anyone preferring containerized execution.

New files:
- Dockerfile (Debian slim + Node.js 20 + all Ralph dependencies)
- docker-compose.yml for easy startup
- docker/docker-entrypoint.sh with UID/GID remapping
- docker/ralph-docker (bash wrapper) and ralph-docker.ps1 (PowerShell)
- .gitattributes to prevent Windows CRLF line ending corruption
- .dockerignore for clean build context
- .github/workflows/docker.yml CI workflow
- docs/user-guide/04-docker-setup.md comprehensive documentation

Updated: README.md, CLAUDE.md, docs/user-guide/README.md, .gitignore

https://claude.ai/code/session_01SNzxUdH1Udf26rN3RKNNzu
2026-02-10 20:54:23 +00:00

40 lines
1 KiB
PowerShell

# ralph-docker.ps1 - Convenience wrapper for running Ralph in Docker on Windows
#
# Usage:
# .\docker\ralph-docker.ps1 [ralph-options]
#
# Examples:
# .\docker\ralph-docker.ps1 --help
# .\docker\ralph-docker.ps1 --monitor
# .\docker\ralph-docker.ps1 --live --verbose
#
# Environment:
# ANTHROPIC_API_KEY Required. Your Anthropic API key.
# RALPH_IMAGE Optional. Docker image name (default: ralph-claude-code:latest)
param(
[Parameter(ValueFromRemainingArguments = $true)]
[string[]]$RalphArgs
)
$ImageName = if ($env:RALPH_IMAGE) { $env:RALPH_IMAGE } else { "ralph-claude-code:latest" }
if (-not $env:ANTHROPIC_API_KEY) {
Write-Error "ANTHROPIC_API_KEY environment variable is not set."
Write-Host 'Set it first: $env:ANTHROPIC_API_KEY = "sk-ant-..."'
exit 1
}
$DockerArgs = @(
"run", "-it", "--rm",
"-e", "ANTHROPIC_API_KEY=$env:ANTHROPIC_API_KEY",
"-v", "${PWD}:/workspace",
$ImageName,
"ralph"
)
if ($RalphArgs) {
$DockerArgs += $RalphArgs
}
& docker @DockerArgs