From 14d0b0f181547bf126e96ed9ea133bd279724396 Mon Sep 17 00:00:00 2001
From: Pi Web Agent
Date: Thu, 2 Jul 2026 20:47:39 +0000
Subject: [PATCH] docs: keep Docker setup docs scoped
---
.changeset/docker-beta-runtime-dev.md | 5 -----
.changeset/docker-updates-tab.md | 5 -----
README.md | 8 --------
docs/install.html | 22 ----------------------
docs/plugins.html | 14 ++++++--------
docs/plugins.md | 16 ++++++++--------
src/docker/piWebDockerDocs.test.ts | 26 ++++++++++++++++++--------
7 files changed, 32 insertions(+), 64 deletions(-)
delete mode 100644 .changeset/docker-beta-runtime-dev.md
delete mode 100644 .changeset/docker-updates-tab.md
diff --git a/.changeset/docker-beta-runtime-dev.md b/.changeset/docker-beta-runtime-dev.md
deleted file mode 100644
index a931c0a..0000000
--- a/.changeset/docker-beta-runtime-dev.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@jmfederico/pi-web": patch
----
-
-Add a beta Docker runtime and development setup with a single `pi-web-docker` command surface, a production one-line install that does not require host Node.js, local image builds, split session/web services, profile-specific host access for native Linux and Docker Desktop for Mac, shared persistent data, custom image hooks, and Docker usage documentation.
diff --git a/.changeset/docker-updates-tab.md b/.changeset/docker-updates-tab.md
deleted file mode 100644
index dd83d19..0000000
--- a/.changeset/docker-updates-tab.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@jmfederico/pi-web": patch
----
-
-Expose Docker-aware PI WEB status, update, and restart commands in the Updates panel through the canonical `pi-web-docker` command, keep the Updates tab visible across federated Docker runtimes, including Docker development runtimes with explicit `pi-web-docker --dev ...` commands, and harden production and development Docker workflows around generated Compose assets, Compose project-name isolation, clearer checkout/runtime guidance, root-safety checks, UID/GID preservation, and detached helper execution.
diff --git a/README.md b/README.md
index e1d06bb..c1b2f30 100644
--- a/README.md
+++ b/README.md
@@ -80,14 +80,6 @@ pi install npm:@jmfederico/pi-web
In Pi, use `/pi-web install`, `/pi-web status`, `/pi-web logs`, `/pi-web restart`, `/pi-web doctor`, and `/pi-web version`.
-Docker beta runtime/server install is available when you want a local image and do not want Node.js or npm on the host:
-
-```bash
-curl -fsSL https://raw.githubusercontent.com/jmfederico/pi-web/main/docker/install.sh | sh
-```
-
-See the [Docker guide](https://github.com/jmfederico/pi-web/blob/main/docker/README.md) for trust model, supported host profiles, commands, and development mode.
-
## Core model
PI WEB organizes work like this:
diff --git a/docs/install.html b/docs/install.html
index 15339a9..cb13cf0 100644
--- a/docs/install.html
+++ b/docs/install.html
@@ -92,7 +92,6 @@
RequirementsUser service installOne-line install
- Docker beta installInstall through PiWSL / manual runRemote access
@@ -150,27 +149,6 @@
-
-
Docker beta install
-
- The beta Docker runtime builds a local image and runs split sessiond + web services. It does not require
- Node.js or npm on the host; it requires a supported Docker/Compose setup and trusted host paths.
-
-
-
- Docker one-liner
-
-
-
$ curl -fsSL https://raw.githubusercontent.com/jmfederico/pi-web/main/docker/install.sh | sh
-
-
- After installation, manage it with ~/.local/share/pi-web-docker/pi-web-docker status, update,
- restart, logs, and related commands. Development mode uses
- ./docker/pi-web-docker --dev <command> from a checkout.
-
-
Read the Docker guide for the trust model, supported host profiles, command matrix, root-safety notes, and development mode.
-
-
Install through Pi
PI WEB is also published as a Pi package. This exposes a /pi-web command inside Pi.
diff --git a/docs/plugins.html b/docs/plugins.html
index 1f3403e..18ba083 100644
--- a/docs/plugins.html
+++ b/docs/plugins.html
@@ -212,9 +212,7 @@ After editing, check the manifest endpoint and browser-console failure cases.
Updates adds a conditional Updates workspace tab with PI WEB update,
restart, and installed-service guidance. It is built into PI WEB, enabled by default, and uses the
- selected machine's plugin copy when machine federation is active. Docker runtimes also publish a small
- manifest hint so federated gateways can keep the remote Updates tab visible and expose Docker commands
- while gateway status parsing catches up.
+ selected machine's plugin copy when machine federation is active.
Plugin id: updates
@@ -260,11 +258,11 @@ After editing, check the manifest endpoint and browser-console failure cases. {
pending.status = "ready";
pending.label = file.content.match(/^DEV_URL=(.+)$/m)?.[1];
diff --git a/src/docker/piWebDockerDocs.test.ts b/src/docker/piWebDockerDocs.test.ts
index 4d1b916..979e15e 100644
--- a/src/docker/piWebDockerDocs.test.ts
+++ b/src/docker/piWebDockerDocs.test.ts
@@ -8,17 +8,27 @@ const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..");
const dockerOneLine = "curl -fsSL https://raw.githubusercontent.com/jmfederico/pi-web/main/docker/install.sh | sh";
describe("pi-web-docker documentation", () => {
- it("documents the Docker one-line install in the Docker guide, root README, and install page", async () => {
- const [dockerReadme, rootReadme, installPage] = await Promise.all([
- readRepoFile("docker/README.md"),
- readRepoFile("README.md"),
- readRepoFile("docs/install.html"),
- ]);
+ it("documents the Docker one-line install in the Docker guide", async () => {
+ const dockerReadme = await readRepoFile("docker/README.md");
expect(dockerReadme).toContain(dockerOneLine);
expect(dockerReadme).toContain("does not require Node.js or npm on the host");
- expect(rootReadme).toContain(dockerOneLine);
- expect(installPage).toContain(dockerOneLine);
+ });
+
+ it("keeps Docker setup documentation scoped to the Docker folder", async () => {
+ const nonDockerDocs = await Promise.all([
+ readRepoFile("README.md"),
+ readRepoFile("docs/install.html"),
+ readRepoFile("docs/plugins.md"),
+ readRepoFile("docs/plugins.html"),
+ ]);
+
+ for (const content of nonDockerDocs) {
+ expect(content).not.toContain(dockerOneLine);
+ expect(content).not.toContain("pi-web-docker");
+ expect(content).not.toContain("Docker beta");
+ expect(content).not.toContain("Docker guide");
+ }
});
it("keeps the Docker command matrix aligned with the canonical user command surface", async () => {