Skip to content

系统要求与前提条件

本文介绍部署 EcoCtrl 所需的软件版本、端口分配和最低系统资源建议。

软件版本要求

组件最低版本说明
Docker24.0+生产部署推荐 Docker Compose v2
Node.js24.x源码构建部署时需要
pnpm10.33.1+源码构建时需要(corepack 可自动管理版本)
PostgreSQL16.x生产环境推荐使用托管数据库

验证安装

bash
docker --version          # Docker 24.0+
node --version            # Node.js 24.x
pnpm --version            # pnpm 10.33.1+
psql --version            # PostgreSQL 16.x

端口分配

以下端口在部署主机上必须可用:

端口服务说明
3000REST APIFastify 服务端(Swagger UI 同端口)
4173Admin 后台管理面板 SPA(Caddy 代理)
8081Web 门户公共 3D 驾驶舱 SPA(Caddy 代理)
5432PostgreSQL数据库(仅容器内部暴露)
9000MinIO API对象存储 API 端口
9001MinIO 控制台对象存储管理控制台

使用 docker compose -f compose.yaml up 启动后,如需调整端口映射,请编辑 docker/.env.local 中的 SERVER_PORTWEB_PORTADMIN_PORT 等变量。

网络访问

生产环境需要以下出站连接:

目标用途
ghcr.io拉取预构建 Docker 镜像
hub.docker.com拉取 PostgreSQL、MinIO 镜像
api.openweathermap.org天气数据(选用时)
api.openai.com / 自定义 AIAI 助手(选用时)
SMTP 服务器邮件发送(选用时)
OAuth Provider微信/飞书登录(选用时)

离线环境:使用离线部署包可跳过 GHCR 和 Docker Hub 的直接访问。

系统资源建议

规模CPU内存磁盘空间适用场景
小型2 核4 GB20 GB SSD测试评估、小型建筑监控
中型4 核8 GB50 GB SSD日常生产(少于 500 点位)
大型8 核16 GB100 GB+ SSD大型设施(1000+ 点位、3D 模型存储)

磁盘空间主要消耗于:

  • PostgreSQL 数据目录:历史能耗数据随运行时间增长
  • MinIO 对象存储:上传的 3D 模型、插件和附件文件
  • 服务端日志:pino JSON 日志文件(按 LOG_MAX_DAYS 配置自动轮转)

操作系统兼容性

EcoCtrl 的 Docker 镜像基于 node:24-alpinepostgres:16-alpine,可在任何支持 Docker 的操作系统上运行,包括:

  • Linux (Ubuntu 22.04+, Debian 12, CentOS Stream 9, 等)
  • macOS (Docker Desktop)
  • Windows (Docker Desktop / WSL2, 仅限测试环境)

生产环境推荐使用 Linux (Ubuntu 24.04 LTS)。

基于 MIT 协议发布