Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 41 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,16 @@ curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/ins
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --engine podman
```

**Windows (PowerShell as Administrator):**
**Windows:**
```powershell
irm https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.ps1 | iex

# Or with Podman:
.\install.ps1 -Engine podman
```

> **Note:** Administrator privileges are only required if Docker Desktop or Podman is not yet installed (the script will install it via `winget`). If either is already installed, a regular PowerShell session works fine.

After installation, open **http://localhost:8080** and log in with `admin`/`admin`.

> **Security:** Change the default password immediately after first login, or pass `--admin-pass <yourpassword>` to the installer.
Expand All @@ -161,14 +163,26 @@ After installation, open **http://localhost:8080** and log in with `admin`/`admi
# Custom port and admin password
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --port 9000 --admin-pass mypassword

# Use Podman instead of Docker
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --engine podman
# Custom port and admin password (Podman)
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --engine podman --port 9000 --admin-pass mypassword

# Use process runtime instead of container isolation
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --process-runtime

# Uninstall
# Uninstall (Docker)
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --uninstall

# Uninstall (Podman)
curl -fsSL https://raw.githubusercontent.com/saolalab/clawforce/main/scripts/install.sh | bash -s -- --engine podman --uninstall
```

**Windows:**
```powershell
# Uninstall (Docker)
.\install.ps1 -Uninstall

# Uninstall (Podman)
.\install.ps1 -Engine podman -Uninstall
```

### Run with Docker or Podman
Expand All @@ -185,11 +199,19 @@ docker run -d -p 8080:8080 \
```

**Podman:**

> **Linux prerequisite:** Enable the Podman socket before running:
> ```bash
> systemctl --user start podman.socket
> systemctl --user enable podman.socket # persist across reboots
> ```

```bash
podman run -d -p 8080:8080 \
-v $XDG_RUNTIME_DIR/podman/podman.sock:/var/run/docker.sock \
-v $HOME/.clawforce-data:/data \
-e AGENT_STORAGE_HOST_PATH=$HOME/.clawforce-data \
-e CONTAINER_ENGINE=podman \
ghcr.io/saolalab/clawforce:latest
```

Expand Down Expand Up @@ -238,7 +260,9 @@ make backend # Terminal 1: API at http://localhost:8080
make frontend # Terminal 2: Vite at http://localhost:5173
```

Build from source (works with `docker` or `podman`):
Build from source:

**Docker:**
```bash
docker build -t clawforce:latest -f deploy/Dockerfile .
docker run -d -p 8080:8080 \
Expand All @@ -249,6 +273,18 @@ docker run -d -p 8080:8080 \
clawforce:latest
```

**Podman:**
```bash
podman build -t clawforce:latest -f deploy/Dockerfile .
podman run -d -p 8080:8080 \
-v $XDG_RUNTIME_DIR/podman/podman.sock:/var/run/docker.sock \
-v $HOME/.clawforce-data:/data \
-e AGENT_STORAGE_HOST_PATH=$HOME/.clawforce-data \
-e AGENT_IMAGE=clawforce:latest \
-e CONTAINER_ENGINE=podman \
clawforce:latest
```

Or using the Makefile (auto-detects engine, override with `ENGINE=podman`):
```bash
make container # build + run
Expand Down
Loading