Files
SBrainCO/run.md
T
2026-08-02 17:55:16 +08:00

2.9 KiB
Raw Blame History

当前数据库是本机Homebrew PostgreSQL 15,数据库名为 bill_query,端口5432,仅监听 localhost;当前用户 freedak 是超级用户,本机认证方式为 trust。这适合本机开发,但不适合直接照搬到服务器生产环境。前端浏览器也不应直接连接PostgreSQL,必须通过后端API访问。

登录账号

用户名 密码 角色
总部管理员 123 hq
区域经理 123 regional
潘家园店长 123 store
商品部 123 dept

本地开发启动

后端服务和 frp 隧道已配置为 macOS launchd 系统级服务,开机自动启动,崩溃自动重启,与 IDE 无关。

系统级服务(launchd

已创建两个 LaunchAgent

服务 plist 日志
后端 (localhost:3333) ~/Library/LaunchAgents/com.sbrain.backend.plist ~/Library/Logs/sbrain-backend.log
frp 隧道 (13333→3333) ~/Library/LaunchAgents/com.frp.client.plist ~/Library/Logs/frpc.log

两个服务均配置了 KeepAlive: true,崩溃后自动重启。开机/登录后自动启动,关闭 IDE 和终端不影响运行。

管理命令

# 停止服务
launchctl unload ~/Library/LaunchAgents/com.sbrain.backend.plist
launchctl unload ~/Library/LaunchAgents/com.frp.client.plist

# 启动服务
launchctl load ~/Library/LaunchAgents/com.sbrain.backend.plist
launchctl load ~/Library/LaunchAgents/com.frp.client.plist

# 查看日志
tail -f ~/Library/Logs/sbrain-backend.log
tail -f ~/Library/Logs/frpc.log

# 检查状态
curl -s http://localhost:3333/api/health
pgrep -l frpc

手动启动(备用,launchd 未运行时)

1. 启动后端服务

cd server && npm run dev

后端运行在 http://localhost:3333,连接本地 PostgreSQLlocalhost:5432,数据库 bill_query)。

2. 启动 frp 隧道

线上 Nginx 将 /api/ 代理到远程 127.0.0.1:13333,通过 frp tcp 代理转发到本地后端 3333 端口:

frpc 配置(/Users/freedak/frp/frpc.toml)中已包含 dm-api 代理:

[[proxies]]
name = "dm-api"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3333
remotePort = 13333

重启 frpc

kill -9 $(pgrep frpc); cd /Users/freedak/frp && ./frpc -c frpc.toml &

访问

  • 线上前端https://dm.all8ai.top(API请求通过 frp 隧道转发到本地后端)
  • 本地前端开发cd client && npm run dev,访问 http://localhost:5173Vite proxy 自动转发 /apilocalhost:3333

注意事项

  • 本地 PostgreSQL 端口 5432 被 Homebrew PostgreSQL 占用,数据库 bill_query 在本地
  • frp 隧道将远程 13333 映射到本地 3333,服务器 Nginx 配置 /api/127.0.0.1:13333
  • launchd 服务开机自启,关闭 IDE/终端不影响;仅注销/关机时停止,下次登录/开机自动恢复
  • server/.envDB_PORT=5432 连接本地数据库,不要改为 5433