#!/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