From c2f09380be5fe773b9bed86523960f557817e518 Mon Sep 17 00:00:00 2001 From: xzx3344521 Date: Sun, 2 Nov 2025 12:07:33 +0800 Subject: [PATCH] Update WebSSH --- WebSSH | 78 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/WebSSH b/WebSSH index afc3b5c..de7fcaa 100644 --- a/WebSSH +++ b/WebSSH @@ -1,30 +1,58 @@ -cat > /boot/docker-compose.yml << 'EOF' -version: '3.8' +va#!/bin/bash -services: - intellissh: - image: clusterzx/intellissh:latest - container_name: intellissh - ports: - - "3000" # 只暴露容器端口,主机端口随机 - volumes: - - ./intellissh-data:/app/server/data - environment: - - TZ=Asia/Shanghai - restart: unless-stopped - logging: - driver: "json-file" - options: - max-size: "10m" - max-file: "3" +# NexTerm 一键安装脚本 +set -e -EOF +echo "🚀 开始安装 NexTerm..." -# 清理之前的失败容器 -docker rm -f intellissh 2>/dev/null || true +# 定义变量 +CONTAINER_NAME="nexterm" +PORT="6989" +VOLUME_NAME="nexterm" +IMAGE="germannewsmaker/nexterm:1.0.5-OPEN-PREVIEW" -# 重新启动 -mkdir -p ./intellissh-data && docker compose -f /boot/docker-compose.yml up -d +# 生成安全的加密密钥(如果未提供) +if [ -z "$ENCRYPTION_KEY" ]; then + echo "🔑 生成加密密钥..." + ENCRYPTION_KEY=$(openssl rand -hex 32) + echo "生成的加密密钥: $ENCRYPTION_KEY" + echo "请妥善保存此密钥!" +fi -# 查看实际映射的端口 -docker port intellissh +# 停止并删除已存在的容器 +echo "🛑 清理现有容器..." +docker rm -f $CONTAINER_NAME 2>/dev/null || true + +# 创建数据卷 +echo "💾 创建数据卷..." +docker volume create $VOLUME_NAME 2>/dev/null || true + +# 运行容器 +echo "🐳 启动 NexTerm 容器..." +docker run -d \ + --name $CONTAINER_NAME \ + --hostname $CONTAINER_NAME \ + -p $PORT:6989 \ + -e ENCRYPTION_KEY=$ENCRYPTION_KEY \ + -e TZ=Asia/Shanghai \ + --restart=unless-stopped \ + --log-opt max-size=10m \ + --log-opt max-file=3 \ + -v $VOLUME_NAME:/app/data \ + $IMAGE + +# 等待服务启动 +echo "⏳ 等待服务启动..." +sleep 10 + +# 检查容器状态 +if docker ps | grep -q $CONTAINER_NAME; then + echo "✅ NexTerm 安装成功!" + echo "📊 容器名称: $CONTAINER_NAME" + echo "🌐 访问地址: http://$(curl -s ipv4.icanhazip.com 2>/dev/null || hostname -I | awk '{print $1}'):$PORT" + echo "🔑 加密密钥: $ENCRYPTION_KEY" + echo "💾 数据卷: $VOLUME_NAME" +else + echo "❌ 容器启动失败,请检查日志:docker logs $CONTAINER_NAME" + exit 1 +fi