84 lines
2.4 KiB
Bash
84 lines
2.4 KiB
Bash
#!/bin/bash
|
||
|
||
# IntelliSSH 一键安装脚本
|
||
# 适用于 Linux 系统
|
||
|
||
set -e
|
||
|
||
echo "=========================================="
|
||
echo " IntelliSSH 一键安装脚本"
|
||
echo "=========================================="
|
||
|
||
# 检查 Docker 是否安装
|
||
if ! command -v docker &> /dev/null; then
|
||
echo "错误: Docker 未安装,请先安装 Docker"
|
||
echo "可以参考: https://docs.docker.com/engine/install/"
|
||
exit 1
|
||
fi
|
||
|
||
# 检查 Docker Compose 是否安装
|
||
if ! command -v docker-compose &> /dev/null; then
|
||
echo "错误: Docker Compose 未安装,请先安装 Docker Compose"
|
||
echo "可以参考: https://docs.docker.com/compose/install/"
|
||
exit 1
|
||
fi
|
||
|
||
# 创建项目目录
|
||
PROJECT_DIR="./intellissh"
|
||
echo "创建项目目录: $PROJECT_DIR"
|
||
mkdir -p "$PROJECT_DIR"
|
||
cd "$PROJECT_DIR"
|
||
|
||
# 创建数据目录
|
||
mkdir -p data
|
||
|
||
# 创建 Docker Compose 配置文件
|
||
cat > docker-compose.yml << 'EOF'
|
||
version: '3'
|
||
|
||
services:
|
||
intellissh:
|
||
image: clusterzx/intellissh:latest # 使用的 IntelliSSH 镜像
|
||
container_name: intellissh # 容器名称
|
||
ports:
|
||
- 8080:3000 # 映射端口:宿主机8080 → 容器3000
|
||
volumes:
|
||
- ./data:/app/server/data # 挂载目录,用于持久化后台数据(如SQLite数据库、会话信息等)
|
||
restart: always # 容器重启策略:无论何种情况都自动重启
|
||
EOF
|
||
|
||
echo "Docker Compose 配置文件已创建"
|
||
|
||
# 拉取镜像
|
||
echo "正在拉取 IntelliSSH 镜像..."
|
||
docker-compose pull
|
||
|
||
# 启动服务
|
||
echo "正在启动 IntelliSSH 服务..."
|
||
docker-compose up -d
|
||
|
||
# 检查服务状态
|
||
echo "等待服务启动..."
|
||
sleep 10
|
||
|
||
# 验证服务是否正常运行
|
||
if docker ps | grep -q intellissh; then
|
||
echo "=========================================="
|
||
echo " IntelliSSH 安装成功!"
|
||
echo "=========================================="
|
||
echo "访问地址: http://localhost:8080"
|
||
echo ""
|
||
echo "管理命令:"
|
||
echo " cd $PROJECT_DIR"
|
||
echo " docker-compose logs # 查看日志"
|
||
echo " docker-compose stop # 停止服务"
|
||
echo " docker-compose start # 启动服务"
|
||
echo " docker-compose restart # 重启服务"
|
||
echo " docker-compose down # 停止并删除容器"
|
||
else
|
||
echo "服务启动可能有问题,请检查日志:"
|
||
cd "$PROJECT_DIR"
|
||
docker-compose logs
|
||
exit 1
|
||
fi
|