installation

OpenClaw 是一个开源的分布式任务调度和工作流编排平台,本文档涵盖各种环境下的安装部署方法。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "installation" with this command: npx skills add chaterm/terminal-skills/chaterm-terminal-skills-installation

OpenClaw 安装与部署

概述

OpenClaw 是一个开源的分布式任务调度和工作流编排平台,本文档涵盖各种环境下的安装部署方法。

环境要求

系统要求

检查系统版本

cat /etc/os-release uname -a

最低要求

- CPU: 2 核心

- 内存: 4GB

- 磁盘: 20GB

- 操作系统: Linux (CentOS 7+, Ubuntu 18.04+, Debian 10+)

检查资源

free -h df -h nproc

依赖检查

检查 Docker

docker --version docker info

检查 Docker Compose

docker-compose --version

检查 Java (如需原生安装)

java -version

检查 Python

python3 --version pip3 --version

Docker 方式安装(推荐)

单机部署

创建工作目录

mkdir -p /opt/openclaw && cd /opt/openclaw

下载 docker-compose.yml

curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml -o docker-compose.yml

创建必要目录

mkdir -p {data,logs,config}

启动服务

docker-compose up -d

查看状态

docker-compose ps docker-compose logs -f

自定义配置

docker-compose.yml

version: '3.8'

services: openclaw-server: image: openclaw/openclaw-server:latest container_name: openclaw-server ports: - "8080:8080" - "9090:9090" environment: - OPENCLAW_DB_HOST=openclaw-db - OPENCLAW_DB_PORT=3306 - OPENCLAW_DB_NAME=openclaw - OPENCLAW_DB_USER=openclaw - OPENCLAW_DB_PASSWORD=${DB_PASSWORD:-openclaw123} - OPENCLAW_REDIS_HOST=openclaw-redis - OPENCLAW_REDIS_PORT=6379 - JAVA_OPTS=-Xms1g -Xmx2g volumes: - ./data:/opt/openclaw/data - ./logs:/opt/openclaw/logs - ./config:/opt/openclaw/config depends_on: - openclaw-db - openclaw-redis restart: unless-stopped

openclaw-worker: image: openclaw/openclaw-worker:latest container_name: openclaw-worker environment: - OPENCLAW_SERVER_HOST=openclaw-server - OPENCLAW_SERVER_PORT=9090 - WORKER_GROUP=default - WORKER_THREADS=8 volumes: - ./logs:/opt/openclaw/logs depends_on: - openclaw-server restart: unless-stopped deploy: replicas: 2

openclaw-db: image: mysql:8.0 container_name: openclaw-db environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-root123} - MYSQL_DATABASE=openclaw - MYSQL_USER=openclaw - MYSQL_PASSWORD=${DB_PASSWORD:-openclaw123} volumes: - ./data/mysql:/var/lib/mysql restart: unless-stopped

openclaw-redis: image: redis:7-alpine container_name: openclaw-redis command: redis-server --appendonly yes volumes: - ./data/redis:/data restart: unless-stopped

环境变量配置

创建 .env 文件

cat > .env << 'EOF'

数据库配置

DB_ROOT_PASSWORD=your_root_password DB_PASSWORD=your_db_password

服务配置

OPENCLAW_PORT=8080 OPENCLAW_GRPC_PORT=9090

日志级别

LOG_LEVEL=INFO EOF

启动时加载

docker-compose --env-file .env up -d

Kubernetes 部署

Helm 安装

添加 Helm 仓库

helm repo add openclaw https://charts.openclaw.io helm repo update

查看可用版本

helm search repo openclaw

安装(默认配置)

helm install openclaw openclaw/openclaw -n openclaw --create-namespace

安装(自定义配置)

helm install openclaw openclaw/openclaw
-n openclaw --create-namespace
-f values.yaml

查看状态

kubectl get pods -n openclaw kubectl get svc -n openclaw

values.yaml 示例

values.yaml

server: replicaCount: 2 resources: requests: memory: "1Gi" cpu: "500m" limits: memory: "2Gi" cpu: "1000m"

worker: replicaCount: 3 resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m"

mysql: enabled: true auth: rootPassword: "your_root_password" database: openclaw username: openclaw password: "your_password" primary: persistence: size: 20Gi

redis: enabled: true architecture: standalone auth: enabled: false

ingress: enabled: true className: nginx hosts: - host: openclaw.example.com paths: - path: / pathType: Prefix

手动 YAML 部署

创建命名空间

kubectl create namespace openclaw

应用配置

kubectl apply -f https://raw.githubusercontent.com/openclaw/openclaw/main/deploy/kubernetes/ -n openclaw

或本地文件

kubectl apply -f openclaw-deployment.yaml -n openclaw

查看部署状态

kubectl get all -n openclaw kubectl describe deployment openclaw-server -n openclaw

原生安装

下载安装包

下载最新版本

OPENCLAW_VERSION=$(curl -s https://api.github.com/repos/openclaw/openclaw/releases/latest | grep tag_name | cut -d '"' -f 4) wget https://github.com/openclaw/openclaw/releases/download/${OPENCLAW_VERSION}/openclaw-${OPENCLAW_VERSION}.tar.gz

解压

tar -xzf openclaw-${OPENCLAW_VERSION}.tar.gz -C /opt/ mv /opt/openclaw-${OPENCLAW_VERSION} /opt/openclaw cd /opt/openclaw

初始化数据库

创建数据库

mysql -u root -p << 'EOF' CREATE DATABASE IF NOT EXISTS openclaw DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER IF NOT EXISTS 'openclaw'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON openclaw.* TO 'openclaw'@'%'; FLUSH PRIVILEGES; EOF

导入初始数据

mysql -u openclaw -p openclaw < /opt/openclaw/sql/init.sql

配置并启动

编辑配置

vim /opt/openclaw/conf/application.yml

启动服务

/opt/openclaw/bin/openclaw-server.sh start /opt/openclaw/bin/openclaw-worker.sh start

查看状态

/opt/openclaw/bin/openclaw-server.sh status /opt/openclaw/bin/openclaw-worker.sh status

查看日志

tail -f /opt/openclaw/logs/openclaw-server.log

Systemd 服务

创建 Server 服务

cat > /etc/systemd/system/openclaw-server.service << 'EOF' [Unit] Description=OpenClaw Server After=network.target mysql.service redis.service

[Service] Type=forking User=openclaw Group=openclaw Environment=JAVA_HOME=/usr/lib/jvm/java-11 ExecStart=/opt/openclaw/bin/openclaw-server.sh start ExecStop=/opt/openclaw/bin/openclaw-server.sh stop ExecReload=/opt/openclaw/bin/openclaw-server.sh restart Restart=on-failure RestartSec=10

[Install] WantedBy=multi-user.target EOF

创建 Worker 服务

cat > /etc/systemd/system/openclaw-worker.service << 'EOF' [Unit] Description=OpenClaw Worker After=network.target openclaw-server.service

[Service] Type=forking User=openclaw Group=openclaw Environment=JAVA_HOME=/usr/lib/jvm/java-11 ExecStart=/opt/openclaw/bin/openclaw-worker.sh start ExecStop=/opt/openclaw/bin/openclaw-worker.sh stop ExecReload=/opt/openclaw/bin/openclaw-worker.sh restart Restart=on-failure RestartSec=10

[Install] WantedBy=multi-user.target EOF

启用并启动

systemctl daemon-reload systemctl enable openclaw-server openclaw-worker systemctl start openclaw-server openclaw-worker systemctl status openclaw-server openclaw-worker

安装验证

健康检查

API 健康检查

curl -s http://localhost:8080/api/health | jq .

组件状态

curl -s http://localhost:8080/api/status | jq .

集群信息

curl -s http://localhost:8080/api/cluster/info | jq .

访问 Web UI

默认访问地址

http://localhost:8080

默认管理员账号

用户名: admin

密码: admin123 (首次登录后请修改)

测试登录

curl -X POST http://localhost:8080/api/auth/login
-H "Content-Type: application/json"
-d '{"username":"admin","password":"admin123"}'

升级指南

Docker 升级

备份数据

docker-compose exec openclaw-db mysqldump -u openclaw -p openclaw > backup.sql

拉取新版本

docker-compose pull

重启服务

docker-compose down docker-compose up -d

验证

docker-compose ps curl -s http://localhost:8080/api/health

Kubernetes 升级

Helm 升级

helm upgrade openclaw openclaw/openclaw -n openclaw

查看升级状态

kubectl rollout status deployment/openclaw-server -n openclaw

回滚(如需要)

helm rollback openclaw -n openclaw

卸载

Docker 卸载

停止并删除容器

docker-compose down

删除数据(谨慎)

docker-compose down -v rm -rf /opt/openclaw

删除镜像

docker rmi $(docker images openclaw/* -q)

Kubernetes 卸载

Helm 卸载

helm uninstall openclaw -n openclaw

删除命名空间

kubectl delete namespace openclaw

清理 PVC(谨慎)

kubectl delete pvc --all -n openclaw

安装问题排查

问题 可能原因 解决方法

端口被占用 其他服务占用 netstat -tlnp | grep 8080

数据库连接失败 配置错误/网络问题 检查连接配置和网络

内存不足 JVM 配置过大 调整 JAVA_OPTS

权限问题 目录权限不足 chown -R openclaw:openclaw /opt/openclaw

Worker 无法注册 Server 未启动/网络问题 检查 Server 状态和网络连通性

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

cron

No summary provided by upstream source.

Repository SourceNeeds Review
General

system-admin

No summary provided by upstream source.

Repository SourceNeeds Review
General

systemd

No summary provided by upstream source.

Repository SourceNeeds Review
General

vpn

No summary provided by upstream source.

Repository SourceNeeds Review