|
@@ -1,98 +0,0 @@
|
|
|
-#!/bin/bash
|
|
|
|
|
-
|
|
|
|
|
-# 检查是否提供了服务数量参数
|
|
|
|
|
-if [ $# -eq 0 ]; then
|
|
|
|
|
- echo "请输入要创建的服务数量:"
|
|
|
|
|
- read -r SERVICE_COUNT
|
|
|
|
|
-else
|
|
|
|
|
- SERVICE_COUNT=$1
|
|
|
|
|
-fi
|
|
|
|
|
-
|
|
|
|
|
-# 验证输入是否为数字
|
|
|
|
|
-if ! [[ "$SERVICE_COUNT" =~ ^[0-9]+$ ]]; then
|
|
|
|
|
- echo "错误:请输入有效的数字"
|
|
|
|
|
- exit 1
|
|
|
|
|
-fi
|
|
|
|
|
-
|
|
|
|
|
-if [ "$SERVICE_COUNT" -le 0 ]; then
|
|
|
|
|
- echo "错误:服务数量必须大于0"
|
|
|
|
|
- exit 1
|
|
|
|
|
-fi
|
|
|
|
|
-
|
|
|
|
|
-echo "正在生成 $SERVICE_COUNT 个服务..."
|
|
|
|
|
-
|
|
|
|
|
-# 备份原始文件
|
|
|
|
|
-cp docker-compose.yml docker-compose.yml.backup
|
|
|
|
|
-
|
|
|
|
|
-# 创建新的docker-compose.yml文件
|
|
|
|
|
-cat > docker-compose.yml << 'EOF'
|
|
|
|
|
-services:
|
|
|
|
|
-EOF
|
|
|
|
|
-
|
|
|
|
|
-# 生成每个服务
|
|
|
|
|
-for ((i=1; i<=SERVICE_COUNT; i++)); do
|
|
|
|
|
- PORT=$((3005 + i))
|
|
|
|
|
-
|
|
|
|
|
- if [ $i -eq 1 ]; then
|
|
|
|
|
- SERVICE_NAME="nockchain"
|
|
|
|
|
- VOLUME_DIR="nockchain"
|
|
|
|
|
- WALLET_DIR="nockchain-wallet"
|
|
|
|
|
- else
|
|
|
|
|
- SERVICE_NAME="nockchain$i"
|
|
|
|
|
- VOLUME_DIR="nockchain$i"
|
|
|
|
|
- WALLET_DIR="nockchain-wallet$i"
|
|
|
|
|
- fi
|
|
|
|
|
-
|
|
|
|
|
- cat >> docker-compose.yml << EOF
|
|
|
|
|
-
|
|
|
|
|
- $SERVICE_NAME:
|
|
|
|
|
- image: ghcr.io/lushdog/nockchain:latest
|
|
|
|
|
- network_mode: host
|
|
|
|
|
- privileged: true
|
|
|
|
|
- restart: unless-stopped
|
|
|
|
|
- volumes:
|
|
|
|
|
- - ./$VOLUME_DIR:/app/data
|
|
|
|
|
- - ./$WALLET_DIR:/root/.nockapp/wallet
|
|
|
|
|
- environment:
|
|
|
|
|
- - MINING_PUBKEY=\${MINING_PUBKEY:?please make sure to set your MINING_PUBKEY environment variable in the .env file}
|
|
|
|
|
- command:
|
|
|
|
|
- - "--npc-socket"
|
|
|
|
|
- - "nockchain.sock"
|
|
|
|
|
- - "--mining-pubkey"
|
|
|
|
|
- - "\${MINING_PUBKEY}"
|
|
|
|
|
- - "--bind"
|
|
|
|
|
- - "/ip4/0.0.0.0/udp/$PORT/quic-v1"
|
|
|
|
|
- - "--mine"
|
|
|
|
|
- logging:
|
|
|
|
|
- driver: "json-file"
|
|
|
|
|
- options:
|
|
|
|
|
- max-size: "10m"
|
|
|
|
|
- max-file: "3"
|
|
|
|
|
-EOF
|
|
|
|
|
-done
|
|
|
|
|
-
|
|
|
|
|
-echo ""
|
|
|
|
|
-echo "✅ 已成功生成 $SERVICE_COUNT 个服务"
|
|
|
|
|
-echo "📁 创建的服务和对应的文件夹:"
|
|
|
|
|
-for ((i=1; i<=SERVICE_COUNT; i++)); do
|
|
|
|
|
- PORT=$((3005 + i))
|
|
|
|
|
-
|
|
|
|
|
- if [ $i -eq 1 ]; then
|
|
|
|
|
- SERVICE_NAME="nockchain"
|
|
|
|
|
- VOLUME_DIR="nockchain"
|
|
|
|
|
- WALLET_DIR="nockchain-wallet"
|
|
|
|
|
- else
|
|
|
|
|
- SERVICE_NAME="nockchain$i"
|
|
|
|
|
- VOLUME_DIR="nockchain$i"
|
|
|
|
|
- WALLET_DIR="nockchain-wallet$i"
|
|
|
|
|
- fi
|
|
|
|
|
-
|
|
|
|
|
- echo " - 服务名: $SERVICE_NAME"
|
|
|
|
|
- echo " 数据文件夹: $VOLUME_DIR"
|
|
|
|
|
- echo " 钱包文件夹: $WALLET_DIR"
|
|
|
|
|
- echo " 端口: $PORT"
|
|
|
|
|
- echo ""
|
|
|
|
|
-done
|
|
|
|
|
-
|
|
|
|
|
-echo "🔄 原始文件已备份为 docker-compose.yml.backup"
|
|
|
|
|
-echo "🔗 请运行 'docker-compose up -d' 来启动服务"
|
|
|