|
|
@@ -0,0 +1,85 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# 生成多个nexus-network服务的脚本
|
|
|
+# 使用方法: ./generate_services.sh
|
|
|
+
|
|
|
+echo "======================================"
|
|
|
+echo "Nexus Network 多服务生成器"
|
|
|
+echo "======================================"
|
|
|
+echo
|
|
|
+
|
|
|
+# 获取用户输入的NODE_ID列表
|
|
|
+echo "请输入NODE_ID列表(用空格分隔):"
|
|
|
+echo "示例: node1 node2 node3"
|
|
|
+read -p "NODE_ID列表: " NODE_IDS
|
|
|
+
|
|
|
+# 检查输入是否为空
|
|
|
+if [ -z "$NODE_IDS" ]; then
|
|
|
+ echo "错误: NODE_ID列表不能为空"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+# 询问MAX_THREADS设置
|
|
|
+read -p "请输入MAX_THREADS值(默认为4): " MAX_THREADS
|
|
|
+MAX_THREADS=${MAX_THREADS:-4}
|
|
|
+
|
|
|
+# 询问是否要覆盖现有的docker-compose.yml
|
|
|
+if [ -f "docker-compose.yml" ]; then
|
|
|
+ echo "检测到现有的docker-compose.yml文件"
|
|
|
+ read -p "是否要覆盖现有文件? (y/n): " OVERWRITE
|
|
|
+ if [ "$OVERWRITE" != "y" ] && [ "$OVERWRITE" != "Y" ]; then
|
|
|
+ echo "操作已取消"
|
|
|
+ exit 0
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# 生成docker-compose.yml文件
|
|
|
+echo "正在生成docker-compose.yml文件..."
|
|
|
+echo
|
|
|
+
|
|
|
+# 创建文件头
|
|
|
+cat > docker-compose.yml << 'EOF'
|
|
|
+services:
|
|
|
+EOF
|
|
|
+
|
|
|
+# 为每个NODE_ID生成一个服务
|
|
|
+for NODE_ID in $NODE_IDS; do
|
|
|
+ echo " 添加服务: nexus-network-$NODE_ID"
|
|
|
+
|
|
|
+ cat >> docker-compose.yml << EOF
|
|
|
+ nexus-network-$NODE_ID:
|
|
|
+ image: ghcr.io/lushdog/nexus-network:latest
|
|
|
+ network_mode: host
|
|
|
+ build:
|
|
|
+ context: .
|
|
|
+ dockerfile: Dockerfile
|
|
|
+ environment:
|
|
|
+ - NODE_ID=$NODE_ID
|
|
|
+ - MAX_THREADS=$MAX_THREADS
|
|
|
+ restart: unless-stopped
|
|
|
+ logging:
|
|
|
+ driver: "json-file"
|
|
|
+ options:
|
|
|
+ max-size: "10m"
|
|
|
+ max-file: "3"
|
|
|
+
|
|
|
+EOF
|
|
|
+done
|
|
|
+
|
|
|
+echo "======================================"
|
|
|
+echo "生成完成!"
|
|
|
+echo "======================================"
|
|
|
+echo
|
|
|
+echo "生成的服务数量: $(echo $NODE_IDS | wc -w)"
|
|
|
+echo "使用的NODE_ID: $NODE_IDS"
|
|
|
+echo "MAX_THREADS: $MAX_THREADS"
|
|
|
+echo
|
|
|
+echo "要启动所有服务,请运行:"
|
|
|
+echo " docker-compose up -d"
|
|
|
+echo
|
|
|
+echo "要查看服务状态,请运行:"
|
|
|
+echo " docker-compose ps"
|
|
|
+echo
|
|
|
+echo "要停止所有服务,请运行:"
|
|
|
+echo " docker-compose down"
|
|
|
+echo
|