Files
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

78 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# 安装微信适配器为系统服务(需要先完成扫码登录)
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
SERVICE_NAME="weixin-nanobot-adapter"
SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service"
echo "📱 安装微信适配器系统服务"
echo " 项目目录: $PROJECT_DIR"
echo ""
# 检查权限
if [ "$EUID" -ne 0 ]; then
echo "❌ 请使用 sudo 运行此脚本"
exit 1
fi
# 获取服务器IP
SERVER_IP=$(curl -s ifconfig.me)
BRIDGE_URL="http://${SERVER_IP}:5000/chat"
echo "📝 创建服务文件..."
cat > "$SERVICE_FILE" << EOF
[Unit]
Description=WeChat-Nanobot Adapter Service
After=weixin-nanobot-bridge.service
Wants=weixin-nanobot-bridge.service
[Service]
Type=simple
User=ubuntu
Group=ubuntu
WorkingDirectory=$PROJECT_DIR
Environment="HOME=/home/ubuntu"
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
Environment="NANOBOT_BRIDGE_URL=$BRIDGE_URL"
# 启动命令
ExecStart=/usr/bin/node $PROJECT_DIR/weixin-bridge.js
# 重启策略
Restart=always
RestartSec=30
StartLimitInterval=300s
StartLimitBurst=5
# 日志
StandardOutput=append:$PROJECT_DIR/logs/weixin-adapter.log
StandardError=append:$PROJECT_DIR/logs/weixin-adapter-error.log
[Install]
WantedBy=multi-user.target
EOF
echo "✅ 服务文件已创建: $SERVICE_FILE"
echo " 桥接地址: $BRIDGE_URL"
# 重载 systemd
systemctl daemon-reload
# 启用开机自启
systemctl enable "$SERVICE_NAME"
echo ""
echo "⚠️ 重要提示:"
echo " 微信服务需要先完成一次扫码登录才能自动运行"
echo " 请先手动运行一次: node weixin-bridge.js"
echo " 完成扫码登录后,再启动此服务"
echo ""
echo "管理命令:"
echo " 启动: sudo systemctl start $SERVICE_NAME"
echo " 停止: sudo systemctl stop $SERVICE_NAME"
echo " 重启: sudo systemctl restart $SERVICE_NAME"
echo " 状态: sudo systemctl status $SERVICE_NAME"