3.1 远程部署
Flocks 默认按本机部署,执行 flocks start 后默认监听:
- WebUI:
127.0.0.1:5173 - 后端 API:
127.0.0.1:8000
要从外部机器访问时,请按场景先选一种方式再部署:
- 只需要 远程Web浏览器访问:推荐只放开 WebUI,后端保留本机监听
- 外部服务也要调Flocks接口:放开后端地址,并建议配反向代理和鉴权
3.1.1 推荐方式(先保证可用)
bash
flocks start --server-host 127.0.0.1 --webui-host 0.0.0.0这条命令满足常见远程场景:外部浏览器可访问页面,后端 API 仍在本机提供服务,风险更小。
如果你要把 API 也暴露给外网,务必配合防火墙/安全组和反向代理再执行:
bash
flocks start --server-host 0.0.0.0 --webui-host 0.0.0.0仅在确实需要外部系统直接调用 API 时,再考虑把后端也绑定到 0.0.0.0,并配合防火墙、开放规则与反向代理做访问收口。
3.1.2 快速检查
- 先确认服务启动成功:
flocks status - 只让外部打开
http://<部署机IP>:5173 - 登陆后确认会话、任务、模型测试都能正常返回(不是只看页面是否显示)
bash
curl http://127.0.0.1:5173/api/health # 检查前端是否正常
curl http://127.0.0.1:8000/api/health # 检查后端是否正常3.1.3 Docker 远程访问
如果你用 Docker 部署,需要确认端口映射与监听策略配套:
bash
docker run -d \
--name flocks \
-e TZ=Asia/Shanghai \
-p 8000:8000 \
-p 5173:5173 \
--shm-size 4gb \
-v "${HOME}/.flocks:/home/flocks/.flocks" \
ghcr.io/agentflocks/flocks:latest其中 -p 是基础要求。多数“容器启动了但看不到页面”的问题,往往是端口没映射、映射错了,或者访问了错误宿主机端口。
3.1.4 常见问题和解决方法
服务监听地址、访问地址或端口开放策略没有按远程场景配置。可以按下面几类现象排查:
| 问题现象 | 常见原因 | 解决方法 |
|---|---|---|
| 外部机器打不开 WebUI | WebUI 仍监听 127.0.0.1,只允许服务器本机访问 | 使用 flocks start --server-host 127.0.0.1 --webui-host 0.0.0.0 启动,并确认云安全组、防火墙已开放 5173 |
| 页面能打开,但新建会话、调用模型失败 | WebUI 可以访问,但后端 API 链路没有打通 | 先确认 Flocks 后端正常运行,再确认 WebUI 请求是否能代理到服务器上的 8000 端口 |
浏览器里请求 127.0.0.1:8000 失败 | 远程浏览器中的 127.0.0.1 指向访问者自己的电脑,不是部署 Flocks 的服务器 | 不要让远程浏览器直接请求本机回环地址;应通过 WebUI 代理、服务器域名/IP 或反向代理把 API 路径指向部署机 |
| Docker 容器启动成功,但外部仍访问失败 | 容器端口没有正确映射,或宿主机安全组未放行 | 检查 -p 5173:5173 和必要的 -p 8000:8000,同时确认宿主机防火墙和云安全组规则 |
安全建议:先只开放 WebUI,让后端 API 保持本机监听;只有外部系统确实需要直接调用 API 时,再开放后端端口,并配合反向代理、鉴权、防火墙或安全组限制访问范围。
完成修改后,不要只确认页面能打开,还要继续验证新建会话、模型测试和任务执行是否能正常返回。