Goal
One-liner install for Linux users that pulls the AgentPulse docker image, starts the container with a data volume, and sets up hooks for Claude Code + Codex. Mirrors scripts/install-local.ps1 (Windows) but for POSIX shells.
Background
Existing files:
scripts/setup.sh — installs hooks into an existing AgentPulse instance (assumes server already running).
scripts/install-local.ps1 — full first-run Windows install (docker run + hook wire-up).
The Linux equivalent is missing, so Linux users have to stitch together docker + setup.sh by hand.
Scope
scripts/install-local.sh — POSIX shell, no Bash-isms. Steps:
- Detect Docker (bail with a helpful install hint if missing).
- Pull or use the local agentpulse image (default
ghcr.io/jstuart0/agentpulse:latest).
- Create a named volume (
agentpulse-data) and bind-mount it at /app/data.
- Start the container with
-e DISABLE_AUTH=true (safe default for local-only use).
- Wait for
/api/v1/health to come up (polling with timeout).
- Invoke
setup.sh pointed at the local instance.
- Serve at
GET /install-local.sh the same way /setup.sh is served (see src/server/routes/setup.ts).
Acceptance criteria
Goal
One-liner install for Linux users that pulls the AgentPulse docker image, starts the container with a data volume, and sets up hooks for Claude Code + Codex. Mirrors
scripts/install-local.ps1(Windows) but for POSIX shells.Background
Existing files:
scripts/setup.sh— installs hooks into an existing AgentPulse instance (assumes server already running).scripts/install-local.ps1— full first-run Windows install (docker run + hook wire-up).The Linux equivalent is missing, so Linux users have to stitch together docker + setup.sh by hand.
Scope
scripts/install-local.sh— POSIX shell, no Bash-isms. Steps:ghcr.io/jstuart0/agentpulse:latest).agentpulse-data) and bind-mount it at/app/data.-e DISABLE_AUTH=true(safe default for local-only use)./api/v1/healthto come up (polling with timeout).setup.shpointed at the local instance.GET /install-local.shthe same way/setup.shis served (seesrc/server/routes/setup.ts).Acceptance criteria
curl -sSL http://localhost:3000/install-local.sh | shon a fresh Linux box installs docker + starts AgentPulse + wires hooks for the current user.