|
| 1 | +# ccwrapper |
| 2 | + |
| 3 | +[`alpine:3.23`](https://hub.docker.com/_/alpine/)-based dockerization of [Claude Code](https://code.claude.com/docs/en/overview), the agentic coding tool |
| 4 | + |
| 5 | +As the site says: |
| 6 | + |
| 7 | +> Claude Code is an agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development tools. Available in your terminal, IDE, desktop app, and browser. ... [It] helps you build features, fix bugs, and automate development tasks. |
| 8 | +
|
| 9 | +## Repositories |
| 10 | + |
| 11 | +| Repo | URL | |
| 12 | +| ------------ | -------------------------------------------------------- | |
| 13 | +| Docker File | <https://github.com/backplane/conex/tree/main/ccwrapper> | |
| 14 | +| Docker Image | <https://hub.docker.com/r/backplane/ccwrapper> | |
| 15 | + |
| 16 | +## Included Utils |
| 17 | + |
| 18 | +In addition to claude-code the following utils are included |
| 19 | + |
| 20 | +| Package | Commands | Description | |
| 21 | +| ------------------- | --------------------- | -------------------------------------------------------------------------------- | |
| 22 | +| cargo 1.94 | `cargo` | The Rust package manager | |
| 23 | +| curl 8.19 | `curl`; `wcurl` | URL retrival utility and library | |
| 24 | +| deno 2.7 | `deno` | A modern runtime for JavaScript and TypeScript | |
| 25 | +| docker-cli 29.3 | `docker` | Docker CLI (the plugin for `docker compose` is also included) | |
| 26 | +| gcc 15.2 | `gcc` | The GNU Compiler Collection | |
| 27 | +| git 2.53 | `git` | Distributed version control system | |
| 28 | +| go 1.26 | `go`; `gofmt` | Go programming language compiler | |
| 29 | +| gpg 2.4 | `gpg` | GNU Privacy Guard 2 - public key operations only | |
| 30 | +| jq 1.8 | `jq` | A lightweight and flexible command-line JSON processor | |
| 31 | +| nodejs 24.14 | `node` | JavaScript runtime built on V8 engine - LTS version | |
| 32 | +| openssh-client 10.2 | `scp`; `sftp`; `ssh` | OpenBSD's SSH client common files | |
| 33 | +| patch 2.8 | `patch` | Utility to apply diffs to files | |
| 34 | +| perl 5.42 | `perl` | Larry Wall's Practical Extraction and Report Language | |
| 35 | +| pnpm 10.32 | `pnpm`; `pnpx` | Fast, disk space efficient package manager | |
| 36 | +| rage 0.11 | `rage`; `rage-keygen` | Simple, modern and secure encryption tool | |
| 37 | +| ripgrep 15.1 | `rg` | ripgrep combines the usability of The Silver Searcher with the raw speed of grep | |
| 38 | +| rsync 3.4 | `rsync`; `rsync-ssl` | A file transfer program to keep remote files in sync | |
| 39 | +| rust 1.94 | `rustc`; `rustdoc` | Rust Programming Language toolchain | |
| 40 | +| shellcheck 0.11 | `shellcheck` | a static analysis tool for shell scripts | |
| 41 | +| ssl_client 1.37 | `ssl_client` | External ssl_client for busybox wget | |
| 42 | +| uv 0.10 | `uv`; `uvx` | Extremely fast Python package installer and resolver, written in Rust | |
| 43 | +| yq-go 4.52 | `yq` | Portable command-line YAML processor written in Go | |
| 44 | +| zstd 1.5 | `unzstd`; `zstd` | Zstandard - Fast real-time compression algorithm | |
| 45 | + |
| 46 | +## Usage |
| 47 | + |
| 48 | +This image runs as the user nonroot (`65532:65532`), in the directory `/work`, with the entrypoint `claude`. |
| 49 | + |
| 50 | +Mount points: |
| 51 | + |
| 52 | +- `/work` - the current working directory, where the codebase should be mounted |
| 53 | +- `/home/nonroot` - the directory where claude and related state lives |
| 54 | + |
| 55 | +Example: |
| 56 | + |
| 57 | +```sh |
| 58 | +docker run -it --init --rm \ |
| 59 | + --volume "$(pwd):/work:rw" \ |
| 60 | + --volume "${HOME}/.ccwrapper/$(pwd | tr -C 'A-Za-z0-9\n' '_'):/home/nonroot:rw" \ |
| 61 | + backplane/ccwrapper |
| 62 | +``` |
0 commit comments