From 2e87371ad9414e4f1deb8b7206e0255b6e7c0a92 Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Sat, 27 Jun 2026 20:53:20 +0300 Subject: [PATCH 1/7] stage-1 --- .dockerignore | 2 ++ .gitignore | 4 ++++ Dockerfile | 12 ++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..132f7d8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +* +!start.sh diff --git a/.gitignore b/.gitignore index 6eb5430..ea5d307 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,7 @@ Cargo.lock.bak # never commit). Use .claude/settings.json for shared, reviewed # settings instead. .claude/settings.local.json + +Dockerfile +start.sh +.dockerignore diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..198d8b3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:26.4.0-slim +RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /cloude-work-dir +#ENV PATH=$PATH: +#RUN source < (agent-vm completion bash) +COPY ./start.sh /. +RUN chmod +x /start.sh +#USER nobody +CMD ["/start.sh"] + +#RUN From 4a1416b970ad98675400801e52ff77d1033a781e Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Sat, 27 Jun 2026 22:07:11 +0300 Subject: [PATCH 2/7] stage_2 --- Dockerfile | 12 +++--------- README.md | 8 ++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 198d8b3..69fdaa0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,6 @@ FROM node:26.4.0-slim RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ && rm -rf /var/lib/apt/lists/* -WORKDIR /cloude-work-dir -#ENV PATH=$PATH: -#RUN source < (agent-vm completion bash) -COPY ./start.sh /. -RUN chmod +x /start.sh -#USER nobody -CMD ["/start.sh"] - -#RUN +WORKDIR /claude-work-dir +ENV PATH=$PATH:/claude-work-dir/.npm-global/bin +CMD npm config set prefix /claude-work-dir/.npm-global && bash diff --git a/README.md b/README.md index 317fe4b..166745f 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,14 @@ launch. ## Quick start +```bash +docker build -t agent-vm-image . +mkdir -p ~/agent-vm/{claude-work-dir,agent-vm-cache} +docker run --device /dev/kvm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/claude-work-dir:/claude-work-dir -ti agent-vm-image + +``` + + ```bash npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm From afadeca96a38d8e6c50fb5e9536a2691ee1866f2 Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Sat, 27 Jun 2026 22:09:33 +0300 Subject: [PATCH 3/7] stage_3 --- .dockerignore | 1 - .gitignore | 1 - 2 files changed, 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index 132f7d8..72e8ffc 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1 @@ * -!start.sh diff --git a/.gitignore b/.gitignore index ea5d307..a1c716f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,4 @@ Cargo.lock.bak .claude/settings.local.json Dockerfile -start.sh .dockerignore From e61b064310c46901551b891e40cc13b50b677708 Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Sat, 27 Jun 2026 22:18:31 +0300 Subject: [PATCH 4/7] stage_4 --- Dockerfile | 4 ++-- README.md | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 69fdaa0..f0c55f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,5 +2,5 @@ FROM node:26.4.0-slim RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ && rm -rf /var/lib/apt/lists/* WORKDIR /claude-work-dir -ENV PATH=$PATH:/claude-work-dir/.npm-global/bin -CMD npm config set prefix /claude-work-dir/.npm-global && bash +ENV PATH=$PATH:/root/.local/.npm-global/bin +CMD npm config set prefix /root/.local/.npm-global && bash diff --git a/README.md b/README.md index 166745f..c8ccaf2 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,19 @@ launch. ## Quick start ```bash -docker build -t agent-vm-image . -mkdir -p ~/agent-vm/{claude-work-dir,agent-vm-cache} -docker run --device /dev/kvm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/claude-work-dir:/claude-work-dir -ti agent-vm-image +docker build -t agent-vm-image . # build docker images +mkdir -p ~/agent-vm/{claude-work-dir,agent-vm-cache} # create catalog for persistent data and credential, into user home dir + +docker run --device /dev/kvm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/claude-work-dir:/claude-work-dir -ti agent-vm-image # run docker container + +npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm + +agent-vm setup # pulls the latest image from ghcr.io and verifies it boots + +mkdir your-project-dir-name # create catalog for project + +agent-vm claude # or codex / opencode / shell ``` From 2e5f5bc3f13fdc55ab556a1120b1c18e128f668b Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Mon, 29 Jun 2026 11:04:20 +0300 Subject: [PATCH 5/7] stage_5 --- Dockerfile | 2 +- README.md | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f0c55f8..f3b397b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM node:26.4.0-slim RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ && rm -rf /var/lib/apt/lists/* -WORKDIR /claude-work-dir +WORKDIR /agent-vm-work-dir ENV PATH=$PATH:/root/.local/.npm-global/bin CMD npm config set prefix /root/.local/.npm-global && bash diff --git a/README.md b/README.md index c8ccaf2..c86f507 100644 --- a/README.md +++ b/README.md @@ -31,12 +31,13 @@ launch. ## Quick start +**In Docker.** ```bash docker build -t agent-vm-image . # build docker images -mkdir -p ~/agent-vm/{claude-work-dir,agent-vm-cache} # create catalog for persistent data and credential, into user home dir +mkdir -p ~/agent-vm/{agent-vm-work-dir,agent-vm-cache} # create catalog for persistent data and credential, into user home dir -docker run --device /dev/kvm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/claude-work-dir:/claude-work-dir -ti agent-vm-image # run docker container +docker run --device /dev/kvm --hostname agent-vm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/agent-vm-work-dir:/agent-vm-work-dir -ti agent-vm-image # run docker container npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm @@ -44,6 +45,8 @@ agent-vm setup # pulls the latest image from ghcr.io and verifies it mkdir your-project-dir-name # create catalog for project +cd your-project-dir-name + agent-vm claude # or codex / opencode / shell ``` From 51b98f898182c5738ade8d9b2f1cda20838eef8c Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Tue, 30 Jun 2026 16:19:16 +0300 Subject: [PATCH 6/7] stage_6 --- Dockerfile | 6 ++++-- README.md | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index f3b397b..5591237 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ FROM node:26.4.0-slim RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ && rm -rf /var/lib/apt/lists/* +ENV PATH=$PATH:/agent-vm-work-dir/.local/.npm-global/bin +USER nobody WORKDIR /agent-vm-work-dir -ENV PATH=$PATH:/root/.local/.npm-global/bin -CMD npm config set prefix /root/.local/.npm-global && bash +ENV HOME=/agent-vm-work-dir +CMD npm config set prefix /agent-vm-work-dir/.local/.npm-global && bash diff --git a/README.md b/README.md index c86f507..968359c 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,9 @@ launch. ```bash docker build -t agent-vm-image . # build docker images -mkdir -p ~/agent-vm/{agent-vm-work-dir,agent-vm-cache} # create catalog for persistent data and credential, into user home dir +install -dm4777 ~/agent-vm/agent-vm-work-dir # create catalog for persistent data,cache and credentials, into user home dir -docker run --device /dev/kvm --hostname agent-vm -v ~/agent-vm/agent-vm-cache:/root/.local -v ~/agent-vm/agent-vm-work-dir:/agent-vm-work-dir -ti agent-vm-image # run docker container +docker run --device /dev/kvm -v ~/agent-vm/agent-vm-work-dir:/agent-vm-work-dir -ti agent-vm-image # run docker container with agent npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm From 50d1cc9aaec926342b069027632fb028d1128365 Mon Sep 17 00:00:00 2001 From: Victor Zharikov Date: Tue, 30 Jun 2026 21:05:52 +0300 Subject: [PATCH 7/7] stage_7 --- Dockerfile | 2 +- README.md | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5591237..0fbbaf1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM node:26.4.0-slim RUN apt-get update && apt install -y --no-install-recommends curl nano bash ca-certificates ssh git wget bash-completion \ && rm -rf /var/lib/apt/lists/* -ENV PATH=$PATH:/agent-vm-work-dir/.local/.npm-global/bin +ENV PATH=$PATH:/agent-vm-work-dir/.local/.npm-global/bin:/agent-vm-work-dir/.local/bin USER nobody WORKDIR /agent-vm-work-dir ENV HOME=/agent-vm-work-dir diff --git a/README.md b/README.md index 968359c..ee5f8f6 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,13 @@ docker run --device /dev/kvm -v ~/agent-vm/agent-vm-work-dir:/agent-vm-work-dir npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm -agent-vm setup # pulls the latest image from ghcr.io and verifies it boots +curl -fsSL https://claude.ai/install.sh | bash #install claude client for authorization + +claude #run for login in claud.io ONLY https://github.com/wirenboard/agent-vm#credentials -mkdir your-project-dir-name # create catalog for project +agent-vm setup # pulls the latest image from ghcr.io and verifies it boots -cd your-project-dir-name +curl -fsSL https://claude.ai/install.sh | bash agent-vm claude # or codex / opencode / shell ``` @@ -54,9 +56,14 @@ agent-vm claude # or codex / opencode / shell ```bash npm install -g @wirenboard/agent-vm # or: npx @wirenboard/agent-vm +curl -fsSL https://claude.ai/install.sh | bash #install claude client for authorization + +claude #run for login in claud.io, more details https://github.com/wirenboard/agent-vm#credentials + agent-vm setup # pulls the latest image from ghcr.io and verifies it boots cd ~/your-project + agent-vm claude # or codex / opencode / shell ```