Update documentation and Dockerfile for Homebrew installation; fix version in config.yaml to 0.5.35

This commit is contained in:
techartdev
2026-02-08 20:02:56 +02:00
parent a329088436
commit df94522752
4 changed files with 52 additions and 9 deletions
+25 -1
View File
@@ -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:
+18 -7
View File
@@ -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
+8
View File
@@ -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 -1
View File
@@ -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