| Crates.io | opencode-cloud |
| lib.rs | opencode-cloud |
| version | 3.0.4 |
| created_at | 2026-01-18 20:45:21.351517+00 |
| updated_at | 2026-01-26 01:56:49.741791+00 |
| description | CLI for managing opencode as a persistent cloud service |
| homepage | https://github.com/pRizz/opencode-cloud |
| repository | https://github.com/pRizz/opencode-cloud |
| max_upload_size | |
| id | 2053067 |
| size | 359,188 |
A production-ready toolkit for deploying and managing opencode as a persistent cloud service, sandboxed inside a Docker container for isolation and security.
cargo install opencode-cloud
opencode-cloud --version
opencode-cloud / occ) - Works on Linux and macOSopencode-cloud runs opencode inside a Docker container, providing:
The CLI manages the container lifecycle, so you don't need to interact with Docker directly.
The sandbox container image is named opencode-cloud-sandbox (not opencode-cloud) to clearly distinguish it from the CLI tool. The CLI (opencode-cloud / occ) deploys and manages this sandbox container.
The image is published to both registries:
| Registry | Image |
|---|---|
| GitHub Container Registry | ghcr.io/prizz/opencode-cloud-sandbox |
| Docker Hub | prizz/opencode-cloud-sandbox |
Pull commands:
Docker Hub:
docker pull prizz/opencode-cloud-sandbox:latest
GitHub Container Registry:
docker pull ghcr.io/prizz/opencode-cloud-sandbox:latest
For most users: Just use the CLI - it handles image pulling/building automatically:
occ start # Pulls or builds the image as needed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcargo install opencode-cloud
occ --version
git clone https://github.com/pRizz/opencode-cloud.git
cd opencode-cloud
just build
cargo run -p opencode-cloud -- --version
# Show version
occ --version
# Start the service (builds Docker container on first run, ~10-15 min)
occ start
# Start on a custom port
occ start --port 8080
# Start and open browser
occ start --open
# Check service status
occ status
# View logs
occ logs
# Follow logs in real-time
occ logs -f
# Stop the service
occ stop
# Restart the service
occ restart
# Install as a system service (starts on login/boot)
occ install
# Uninstall the system service
occ uninstall
# View configuration
occ config show
When developing locally or after updating opencode-cloud, you may need to rebuild the Docker image to pick up changes in the embedded Dockerfile:
# Rebuild using Docker cache (fast - only rebuilds changed layers)
occ start --cached-rebuild
# Rebuild from scratch without cache (slow - for troubleshooting)
occ start --full-rebuild
--cached-rebuild (recommended for most cases):
--full-rebuild (for troubleshooting):
When to rebuild:
--cached-rebuild--cached-rebuild--cached-rebuild first, then --full-rebuild--full-rebuildConfiguration is stored at:
~/.config/opencode-cloud/config.jsonData (PID files, etc.) is stored at:
~/.local/share/opencode-cloud/# Install dependencies
pnpm install
# Configure git hooks (once after cloning)
git config core.hooksPath .githooks
# Build everything
just build
# Compile and run occ (arguments automatically get passed to the binary)
just run --version
# Run tests
just test
# Format and lint
just fmt
just lint
Note: The git hooks automatically sync
README.mdto npm package directories on commit.
This is a monorepo with:
packages/core - Rust core librarypackages/cli-rust - Rust CLI binary (recommended)packages/cli-node - Node.js CLI (deprecated, directs users to cargo install)The packages/core/Cargo.toml file must use explicit values rather than workspace = true references.
When updating package metadata (version, edition, rust-version, etc.), keep both files in sync:
Cargo.toml (workspace root)packages/core/Cargo.tomlUse scripts/set-all-versions.sh <version> to update versions across all files automatically.
MIT