AI创想
标题:
老 MacBook 别扔!装 Linux 部署 OpenClaw 变身 24h 服务器
[打印本页]
作者:
米落枫
时间:
昨天 22:48
标题:
老 MacBook 别扔!装 Linux 部署 OpenClaw 变身 24h 服务器
作者:一键难忘
10.1 创建部署脚本
#!/bin/bashLOG_FILE="/var/log/macbook-openclaw-deploy.log"log(){echo"[$(date'+%Y-%m-%d %H:%M:%S')] $1">>$LOG_FILE}check_hardware(){
log "Checking hardware compatibility..."# 检查 CPUlocalcpu_model=$(lscpu |grep'Model name'|awk -F: '{print $2}'|xargs)
log "CPU Model: $cpu_model"# 检查内存localmem_total=$(free -h |grep Mem |awk'{print $2}')
log "Total Memory: $mem_total"# 检查存储localdisk_total=$(df -h / |tail -1 |awk'{print $2}')
log "Total Disk: $disk_total"# 检查网络localnetwork_interfaces=$(iplink show |grep -E '^[0-9]+:'|awk'{print $2}'|cut -d: -f1)
log "Network Interfaces: $network_interfaces"}install_docker(){
log "Installing Docker..."# 安装 Dockercurl -fsSL https://get.docker.com -o get-docker.sh
sudosh get-docker.sh
# 启动 Docker 服务sudo systemctl start dockersudo systemctl enabledocker# 将当前用户添加到 docker 组sudousermod -aG docker$USER
log "Docker installed successfully"}deploy_openclaw(){
log "Deploying OpenClaw..."# 创建工作目录mkdir -p /opt/openclaw
cd /opt/openclaw
# 克隆 OpenClaw 仓库git clone https://github.com/openclaw/openclaw.git
# 进入项目目录cd openclaw
# 复制配置文件cp .env.example .env
# 创建数据目录sudomkdir -p /data/openclaw
# 启动所有服务docker-compose up -d
# 等待服务启动sleep30# 验证服务localhealth_check=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/health)if["$health_check"="200"];then
log "OpenClaw deployed successfully"return0else
log "OpenClaw deployment failed"return1fi}configure_battery(){
log "Configuring battery protection..."# 安装 TLPsudoaptinstall -y tlp tlp-rdw
# 启动 TLP 服务sudo systemctl enable tlp
sudo systemctl start tlp
# 配置电池充电限制sudosed -i 's/^START_CHARGE_THRESH_BAT0=.*/START_CHARGE_THRESH_BAT0=75/' /etc/tlp.conf
sudosed -i 's/^STOP_CHARGE_THRESH_BAT0=.*/STOP_CHARGE_THRESH_BAT0=80/' /etc/tlp.conf
log "Battery protection configured"}configure_remote_management(){
log "Configuring remote management..."# 启用 SSHsudoaptinstall -y openssh-server
sudo systemctl enablesshsudo systemctl start ssh# 配置防火墙sudo ufw allow 22/tcp
sudo ufw allow 8080/tcp
sudo ufw --force enable
log "Remote management configured"}configure_monitoring(){
log "Configuring monitoring..."# 安装监控工具sudoaptinstall -y htop iotop nethogs
# 创建监控脚本cat<<'EOF'> /usr/local/bin/macbook-monitor.sh
#!/bin/bash
LOG_FILE="/var/log/macbook-monitor.log"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
}
check_cpu() {
local cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
log "CPU Usage: ${cpu_usage}%"
}
check_memory() {
local mem_usage=$(free | grep Mem | awk '{printf("%.0f"), $3/$2 * 100.0}')
log "Memory Usage: ${mem_usage}%"
}
check_disk() {
local disk_usage=$(df -h /data | tail -1 | awk '{print $5}' | cut -d'%' -f1)
log "Disk Usage: ${disk_usage}%"
}
check_battery() {
local battery_status=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'state' | awk '{print $2}')
local battery_percentage=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'percentage' | awk '{print $2}')
log "Battery Status: $battery_status, $battery_percentage"
}
check_openclaw() {
local health_check=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/health)
log "OpenClaw Health: $health_check"
}
main() {
check_cpu
check_memory
check_disk
check_battery
check_openclaw
}
main
EOF# 添加执行权限sudochmod +x /usr/local/bin/macbook-monitor.sh
# 配置定时任务(crontab -l 2>/dev/null;echo"*/15 * * * * /usr/local/bin/macbook-monitor.sh")|crontab -
log "Monitoring configured"}test_services(){
log "Testing services..."# 测试 OpenClawlocalopenclaw_test=$(curl -s http://localhost:8080/api/health)
log "OpenClaw Test: $openclaw_test"# 测试 SSHlocalssh_test=$(systemctl is-active ssh)
log "SSH Test: $ssh_test"# 测试 Dockerlocaldocker_test=$(systemctl is-active docker)
log "Docker Test: $docker_test"}main(){
log "=== MacBook OpenClaw Deployment Started ==="
check_hardware
install_docker
deploy_openclaw
configure_battery
configure_remote_management
configure_monitoring
test_services
log "=== MacBook OpenClaw Deployment Completed ==="}
main
复制代码
添加执行权限:
sudochmod +x /usr/local/bin/macbook-openclaw-deploy.sh
复制代码
十一、总结
通过以上步骤,我们成功将老款 MacBook 改造为运行 OpenClaw 的 24 小时服务器。
11.1 主要优势
废物利用
:让闲置 MacBook 发挥价值
成本低廉
:无需购买新设备
性能足够
:老款 MacBook 性能足以运行 OpenClaw
稳定可靠
:Ubuntu 系统稳定,适合长期运行
易于管理
:基于 Docker,便于管理和更新
11.2 注意事项
定期清理散热,防止过热定期检查电池健康,防止电池损坏定期备份数据,确保数据安全定期更新系统,保持系统安全监控系统资源,及时优化配置
11.3 后续扩展
可以进一步扩展功能:
添加 Home Assistant 智能家居控制添加 Nextcloud 私有云存储添加 Plex 媒体服务器添加内网穿透服务添加更多 AI 模型
希望这篇教程能帮助大家成功将老款 MacBook 改造为 OpenClaw 服务器!
(, 下载次数: 0)
上传
点击文件名下载附件
原文地址:https://blog.csdn.net/weixin_52908342/article/details/158184087
欢迎光临 AI创想 (https://llms-ai.com/)
Powered by Discuz! X3.4