How it works
better-openclaw generates:- docker-compose.yml — For services without native recipes
- native/ directory — Install and run scripts for each platform
- install.sh (Linux/macOS) or install.ps1 (Windows) — Top-level orchestrator
- Installs native services (e.g., Redis via apt/dnf, configured with systemd)
- Starts native services
- Launches remaining services via
docker compose up
Supported services
Currently, only Redis has a native Linux recipe (apt/dnf + systemd). More services (PostgreSQL, Caddy, Prometheus) may be added over time. Services without native recipes remain Docker-only:- Node.js/Python apps (n8n, LibreChat, etc.)
- La Suite Meet
- Ollama
- All AI/ML services
Prerequisites
Linux
- Ubuntu 20.04+ / Debian 11+ / RHEL 8+ / Fedora 35+
- Docker Engine 20.10+ (for containerized services)
- sudo privileges
- systemd (for service management)
macOS
- macOS 12+ (Monterey)
- Docker Desktop
- Homebrew
- sudo privileges
Windows
- Windows 10/11 with WSL2
- Docker Desktop
- PowerShell 7+
- Administrator privileges
Deployment steps
Generate a bare-metal stack
Use the This generates:
--deployment-mode bare-metal flag:docker-compose.yml— Docker-only services + OpenClaw gatewaynative/install-linux.sh— Native install script for Linuxnative/run-linux.sh— Start native servicesinstall.sh— Top-level installer.env— Environment variables
Review the configuration
Inspect which services will run natively:Check the Docker Compose file for remaining services:
Run the installer
Execute the top-level installer with sudo:Linux/macOS:Windows (PowerShell):The installer will:
- Detect your platform (Linux/macOS/Windows)
- Install native services (Redis via package manager)
- Configure systemd units (Linux) or launchd (macOS)
- Start native services
- Launch
docker compose up -dfor remaining services
Service management
Native services (Linux)
Redis example:Native services (macOS)
Redis example:Containerized services
Use standard Docker Compose commands:Production considerations
Firewall rules
Configure firewall rules for native services: Linux (ufw):Resource limits
For native services, configure limits via systemd:Security hardening
Redis (Linux)
Edit/etc/redis/redis.conf:
Backups
Redis (Linux)
Redis automatically saves to/var/lib/redis/dump.rdb. Back up regularly:
Uninstalling
Platform-specific notes
Ubuntu/Debian
Redis installed via:/etc/redis/redis.conf
Data directory: /var/lib/redis
Logs: /var/log/redis/redis-server.log
RHEL/Fedora
Redis installed via:/etc/redis/redis.conf
Data directory: /var/lib/redis
Logs: journalctl -u redis
macOS
Redis installed via:/usr/local/etc/redis.conf
Data directory: /usr/local/var/db/redis
Logs: /usr/local/var/log/redis.log
Migrating to Docker
If you want to migrate a native service back to Docker:Troubleshooting
Native service won’t start
Check service logs: Linux:Port conflicts
If a native service conflicts with a Docker container, stop the native service:Permission errors
Ensure proper permissions for data directories: Linux:Next steps
- Docker deployment for a fully containerized stack
- VPS deployment for cloud server setup