部署指南

从零到上线:一键部署脚本、HTTPS、环境变量、常见部署问题(完整文档见 docs/deployment.md)。

单一事实来源

完整的部署文档维护在仓库 docs/deployment.md(含详细步骤、环境变量表与 FAQ)。本节仅作速览,避免两份内容重复维护。

服务组成

服务作用端口(容器内)
postgresPostgreSQL 16 数据库5432
appNext.js 主服务(页面 + REST API)3000
imSocket.IO 即时通讯3002
nginx / caddy反向代理(HTTP / 自动 HTTPS)80 / 443

一键部署

# 1. 获取代码
git clone https://github.com/hezongji/project-management-system.git
cd project-management-system

# 2. 一键部署(交互询问站点地址,自动生成 .env 与密钥)
./deploy/install.sh

# 3. HTTPS 模式(Caddy 自动签发证书)
./deploy/install.sh --https --domain pm.example.com

关键环境变量

  • DB_* / DATABASE_URL:数据库连接(必填)。
  • JWT_SECRET:主服务与 IM 共用的 JWT 密钥,未配置将拒绝启动(必填)。
  • NEXT_PUBLIC_WS_URL:IM WebSocket 地址,只能写 origin 根域名(不要带路径)。
  • FILE_ROOT / FILE_MAX_SIZE / FILE_QUOTA_PER_PROJECT:网盘相关。
  • WECOM_WEBHOOK_URL / DINGTALK_WEBHOOK_URL:企业微信 / 钉钉通知(可选)。

常见部署问题

  • 内存不足 OOM:2 核 2G 起步,构建前先看 free -m 水位。
  • 前端空白 / 接口 404:确认 NEXT_PUBLIC_API_URL / WS_URL 正确。
  • 改代码后不生效:按端口 ss -tlnp 找 pid 强杀旧 next-server,再重启。

完整文档

详见仓库 docs/deployment.md(从零到上线步骤 + 真实环境变量表 + FAQ)。