Node.js 服务器
部署独立 Node.js ESM 产物,生产主机无需 Bun 或 TypeScript。
最低使用 Node.js 24,产物已在 24.21.0 完成冒烟测试。在构建机使用 Bun >=1.3.14 按共享发布步骤构建,再将完整的 apps/api/dist 复制到 /opt/ppanel-edge/apps/api/dist。Node 只加载 JavaScript,无需安装工作区依赖。
node --env-file=/etc/ppanel-edge/api.env /opt/ppanel-edge/apps/api/dist/server/node.mjs源码或构建机也可使用 bun run --cwd apps/api start:node;仅安装 Node 的生产主机使用上面的直接启动命令。启动前通过独立迁移环境运行迁移产物,再完成 /admin/install。应用环境使用权限受限的数据库账号。
Node 入口使用 Hono Node 服务适配器和 Node Redis 客户端。API 行为、官网与 SPA 路由、文件存储、HTTP/SMTP 邮件、任务循环、客户端地址以及出站 DNS/TLS 防护与 Bun 相同。静态文件位于 server 同级的 client,Node 产物不依赖启动时的工作目录。
使用 Node systemd 单元或 node Docker 目标。携带允许的主机名检查 /healthz 和 /readyz。SIGTERM 关闭监听,等待请求、停止领取新任务、等待运行中任务并释放连接。允许 17 分钟退出,并保留上一版产物用于回滚。
alpha 镜像使用 ghcr.io/herta-network/ppanel-edge:alpha-node;建议固定明确版本控制升级。稳定发布还提供 latest-node。两套 Redis/Valkey、切换镜像与回滚见 Docker Compose。