Update documentation and Dockerfile for Homebrew installation; fix version in config.yaml to 0.5.35
This commit is contained in:
@@ -153,14 +153,21 @@ This allows using the Control UI over LAN HTTP.
|
|||||||
This add-on keeps options minimal but practical. See `openclaw_assistant_dev/config.yaml` for the full schema.
|
This add-on keeps options minimal but practical. See `openclaw_assistant_dev/config.yaml` for the full schema.
|
||||||
|
|
||||||
### Gateway Network Settings
|
### Gateway Network Settings
|
||||||
Control how the OpenClaw gateway binds to the network:
|
Control how the OpenClaw gateway operates and binds to the network:
|
||||||
|
|
||||||
|
- **`gateway_mode`** (string: **local** or **remote**, default **local**)
|
||||||
|
- **local**: Run the gateway locally in this add-on (recommended for most users)
|
||||||
|
- **remote**: Connect to a remote gateway running elsewhere
|
||||||
|
- This setting determines whether OpenClaw runs its own gateway or connects to an existing one
|
||||||
|
|
||||||
- **`gateway_bind_mode`** (string: **loopback** or **lan**, default **loopback**)
|
- **`gateway_bind_mode`** (string: **loopback** or **lan**, default **loopback**)
|
||||||
- **loopback**: Bind to 127.0.0.1 only — secure, local access only
|
- **loopback**: Bind to 127.0.0.1 only — secure, local access only
|
||||||
- **lan**: Bind to all interfaces — accessible from your local network
|
- **lan**: Bind to all interfaces — accessible from your local network
|
||||||
|
- Only applies when `gateway_mode` is **local**
|
||||||
|
|
||||||
- **`gateway_port`** (int, default **18789**)
|
- **`gateway_port`** (int, default **18789**)
|
||||||
- Port number for the gateway to listen on
|
- Port number for the gateway to listen on
|
||||||
|
- Only applies when `gateway_mode` is **local**
|
||||||
|
|
||||||
- **`allow_insecure_auth`** (bool, default **false**)
|
- **`allow_insecure_auth`** (bool, default **false**)
|
||||||
- Allow HTTP authentication for gateway access on LAN
|
- Allow HTTP authentication for gateway access on LAN
|
||||||
@@ -204,6 +211,23 @@ How to provide the key:
|
|||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Some skills fail to install (Homebrew errors)
|
||||||
|
|
||||||
|
If you see errors like:
|
||||||
|
- `Homebrew's x86_64 support on Linux requires a CPU with SSSE3 support!`
|
||||||
|
- `spawn brew ENOENT` or `brew: command not found`
|
||||||
|
|
||||||
|
**Cause**: Your CPU doesn't support SSSE3 instructions (required by Homebrew). This affects older CPUs like some Intel Atom, Celeron, or pre-2006 processors.
|
||||||
|
|
||||||
|
**Impact**: Skills that depend on CLI tools installed via Homebrew (e.g., `gemini`, `aider`) won't install. Core OpenClaw functionality still works.
|
||||||
|
|
||||||
|
**Solutions**:
|
||||||
|
1. **Use a newer CPU** with SSSE3 support (Intel Core 2 or newer, ~2006+)
|
||||||
|
2. **Install dependencies manually** if you know which tools are needed
|
||||||
|
3. **Use alternative skills** that don't require Homebrew dependencies
|
||||||
|
|
||||||
|
The add-on will still start and work - Homebrew is optional.
|
||||||
|
|
||||||
### I get ERR_CONNECTION_REFUSED
|
### I get ERR_CONNECTION_REFUSED
|
||||||
- The gateway is not reachable at that IP/port.
|
- The gateway is not reachable at that IP/port.
|
||||||
- Confirm bind/port in terminal:
|
- Confirm bind/port in terminal:
|
||||||
|
|||||||
@@ -55,7 +55,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install Homebrew (Linuxbrew) for OpenClaw skill dependencies
|
# Install Homebrew (Linuxbrew) for OpenClaw skill dependencies
|
||||||
# Homebrew is required for installing CLI tools like gemini, aider, etc.
|
# Homebrew is optional - some skills need CLI tools like gemini, aider, etc.
|
||||||
|
# NOTE: Homebrew requires CPU with SSSE3 support (Intel Core 2 or newer, ~2006+)
|
||||||
|
# If installation fails (e.g., older CPUs), the add-on will still work but some skills may not install
|
||||||
ENV HOMEBREW_NO_AUTO_UPDATE=1 \
|
ENV HOMEBREW_NO_AUTO_UPDATE=1 \
|
||||||
HOMEBREW_NO_INSTALL_CLEANUP=1 \
|
HOMEBREW_NO_INSTALL_CLEANUP=1 \
|
||||||
HOMEBREW_NO_ANALYTICS=1
|
HOMEBREW_NO_ANALYTICS=1
|
||||||
@@ -65,13 +67,17 @@ RUN useradd -m -s /bin/bash linuxbrew \
|
|||||||
&& chown -R linuxbrew:linuxbrew /home/linuxbrew
|
&& chown -R linuxbrew:linuxbrew /home/linuxbrew
|
||||||
|
|
||||||
USER linuxbrew
|
USER linuxbrew
|
||||||
RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" \
|
RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || \
|
||||||
&& cd /home/linuxbrew/.linuxbrew/Homebrew \
|
(echo "WARNING: Homebrew installation failed (likely unsupported CPU - requires SSSE3). Some skills may not work." && exit 0)
|
||||||
&& git config --global --add safe.directory /home/linuxbrew/.linuxbrew/Homebrew \
|
RUN if [ -d /home/linuxbrew/.linuxbrew/Homebrew ]; then \
|
||||||
&& /home/linuxbrew/.linuxbrew/bin/brew update --force
|
cd /home/linuxbrew/.linuxbrew/Homebrew && \
|
||||||
|
git config --global --add safe.directory /home/linuxbrew/.linuxbrew/Homebrew && \
|
||||||
|
/home/linuxbrew/.linuxbrew/bin/brew update --force || true; \
|
||||||
|
fi
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
# Add Homebrew to PATH for all users (wrapper comes first to intercept root calls)
|
# Add Homebrew to PATH for all users (wrapper comes first to intercept root calls)
|
||||||
|
# PATH is set even if brew failed - wrapper will handle missing brew gracefully
|
||||||
ENV PATH="/usr/local/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:${PATH}"
|
ENV PATH="/usr/local/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:${PATH}"
|
||||||
|
|
||||||
# Copy brew wrapper that allows root to run brew by delegating to linuxbrew user
|
# Copy brew wrapper that allows root to run brew by delegating to linuxbrew user
|
||||||
@@ -79,9 +85,14 @@ COPY brew-wrapper.sh /usr/local/bin/brew
|
|||||||
RUN chmod +x /usr/local/bin/brew
|
RUN chmod +x /usr/local/bin/brew
|
||||||
|
|
||||||
# Verify brew is available and install gcc (needed for compiling some brew packages)
|
# Verify brew is available and install gcc (needed for compiling some brew packages)
|
||||||
# Must run as linuxbrew user - Homebrew refuses to run as root
|
# Skip if brew installation failed
|
||||||
USER linuxbrew
|
USER linuxbrew
|
||||||
RUN /home/linuxbrew/.linuxbrew/bin/brew --version && /home/linuxbrew/.linuxbrew/bin/brew install gcc
|
RUN if [ -x /home/linuxbrew/.linuxbrew/bin/brew ]; then \
|
||||||
|
/home/linuxbrew/.linuxbrew/bin/brew --version && \
|
||||||
|
/home/linuxbrew/.linuxbrew/bin/brew install gcc || true; \
|
||||||
|
else \
|
||||||
|
echo "Skipping gcc installation - Homebrew not available"; \
|
||||||
|
fi
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
# Install OpenClaw globally
|
# Install OpenClaw globally
|
||||||
|
|||||||
@@ -4,6 +4,14 @@
|
|||||||
|
|
||||||
REAL_BREW="/home/linuxbrew/.linuxbrew/bin/brew"
|
REAL_BREW="/home/linuxbrew/.linuxbrew/bin/brew"
|
||||||
|
|
||||||
|
# Check if Homebrew is actually installed
|
||||||
|
if [ ! -x "$REAL_BREW" ]; then
|
||||||
|
echo "ERROR: Homebrew is not installed (likely due to unsupported CPU - requires SSSE3)." >&2
|
||||||
|
echo "Some OpenClaw skills that depend on CLI tools (gemini, aider, etc.) will not work." >&2
|
||||||
|
echo "Consider using a newer CPU or installing dependencies manually." >&2
|
||||||
|
exit 127
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$(id -u)" = "0" ]; then
|
if [ "$(id -u)" = "0" ]; then
|
||||||
# Running as root - use sudo to run as linuxbrew user
|
# Running as root - use sudo to run as linuxbrew user
|
||||||
# Preserve necessary environment variables and properly pass all arguments
|
# Preserve necessary environment variables and properly pass all arguments
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: OpenClaw Assistant
|
name: OpenClaw Assistant
|
||||||
version: "0.5.34"
|
version: "0.5.35"
|
||||||
slug: openclaw_assistant
|
slug: openclaw_assistant
|
||||||
description: Run OpenClaw Assistant (OpenClaw-compatible) as a Home Assistant add-on.
|
description: Run OpenClaw Assistant (OpenClaw-compatible) as a Home Assistant add-on.
|
||||||
url: https://github.com/techartdev/OpenClawHomeAssistant
|
url: https://github.com/techartdev/OpenClawHomeAssistant
|
||||||
|
|||||||
Reference in New Issue
Block a user