Update WebSSH

This commit is contained in:
2025-11-02 12:07:33 +08:00
committed by GitHub
parent 05dc0ad4e8
commit c2f09380be

78
WebSSH
View File

@@ -1,30 +1,58 @@
cat > /boot/docker-compose.yml << 'EOF' va#!/bin/bash
version: '3.8'
services: # NexTerm 一键安装脚本
intellissh: set -e
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"
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