跳转到内容

快速开始

本指南将带你使用 Docker Compose 一键部署完整的 EasyShell 环境。所有服务(Server、Web、MySQL、Redis)均已容器化,预构建镜像通过 GitHub Actions 自动发布到 Docker Hub 和 GHCR。

  • Docker 24+ 并安装 Docker Compose v2(Docker Desktop 已内置)
  • Git —— 用于克隆仓库
  • 至少 2 GB 内存10 GB 磁盘空间
Terminal window
git clone https://github.com/easyshell-ai/easyshell.git
cd easyshell

复制环境变量模板并根据需要修改:

Terminal window
cp .env.example .env

默认配置即可直接使用,关键配置项如下:

变量默认值说明
MYSQL_PASSWORD18923ce29fdab04eMySQL root 密码
SERVER_PORT18080Server API 端口
WEB_PORT18880Web 前端端口
PROVISION_SERVER_URLhttp://easyshell-server:18080Agent 连接地址,部署 Agent 时需改为服务器外部可达地址
Terminal window
docker compose up -d

Docker Compose 将自动拉取预构建镜像并启动以下四个服务:

服务镜像端口
easyshell-serverlaolupaojiao/easyshell-server:latest18080
easyshell-weblaolupaojiao/easyshell-web:latest18880
easyshell-mysqlmysql:8.013306
easyshell-redisredis:7-alpine16379
Terminal window
docker compose ps

所有服务应在 1–2 分钟内显示 healthy 状态。也可以查看日志排查问题:

Terminal window
docker compose logs -f

打开浏览器访问 http://localhost:18880,使用以下账号登录:

  • 用户名easyshell
  • 密码easyshell@changeme

第六步:部署 Agent 到被管理主机

Section titled “第六步:部署 Agent 到被管理主机”

EasyShell Agent 运行在每台需要管理的服务器上。有两种部署方式:

方式一:自动部署(通过 Web 界面)

Section titled “方式一:自动部署(通过 Web 界面)”
  1. 在侧边栏导航到 主机管理
  2. 点击 添加主机安装 Agent
  3. 输入目标主机的 SSH 凭据(IP、端口、用户名、密码/密钥)
  4. 服务端将自动 SSH 到目标主机,上传对应的二进制文件(amd64/arm64),并启动 Agent
  1. 将预编译的二进制文件复制到目标主机:
Terminal window
scp easyshell-agent/easyshell-agent-linux-amd64 user@target:/usr/local/bin/easyshell-agent
  1. 在目标主机上创建配置文件 /etc/easyshell/agent.yaml
server:
url: http://你的EasyShell服务器地址:18080
agent:
id: "" # 留空则根据主机名自动生成
heartbeat:
interval: 30 # 秒
metrics:
interval: 60 # 秒
log:
level: info
  1. 启动 Agent:
Terminal window
chmod +x /usr/local/bin/easyshell-agent
/usr/local/bin/easyshell-agent --config /etc/easyshell/agent.yaml

启用 AI 智能运维助手:

  1. 进入 系统管理 → AI 设置
  2. 添加你的 AI 模型提供商(如 OpenAI、DeepSeek 或任何 OpenAI 兼容的 API)
  3. 配置 API Key 和模型参数
  4. 测试连接

详细的 AI 配置说明请参阅 AI 配置指南

如需从源码构建镜像(而非使用预构建镜像),使用开发配置文件:

Terminal window
docker compose -f docker-compose.build.yml up -d

这将使用本地的 Dockerfile.serverDockerfile.web 在本地构建镜像后启动。