环境与部署
1 基础环境
-
系统推荐: Ubuntu 20 / 22
-
软件版本: Node v20.x.x、Python 3.10.x、MySQL 8.0+
-
主服务器: 2 核心、2Gb、10Mb 以上。
-
Cookie 刷新服务器:1 核心 512 Mb。
2 后端部署
后端主要使用 TypeScript 基于 Hono Web 框架和 Prisma 开发,默认运行在 9200 端口。
2.1 配置 MySQL
-
在 MySQL 创建数据 库 sunoapi
-
修改 .env 文件,配置正确的 MySQL 链接:
DATABASE_URL='mysql://root:root@192.168.124.233:3306/sunoapi'
2.2 安装依赖并启动程序
- 进入 backend 目录,并逐一执行下列命令
npm i
npm run generate
npm run migrate --name=init
其中 generate 是 Prisma 生成相关文件, migrate 是迁移表格(主要作用是建表),所以一般只执行一次。
- 如果需要调试,请运行:
npm run dev
- 编译
npm run build
- 运行
npm run start
后台运行,推荐使用 Docker 或者 pm2 进行管理,docker 文件已写好。
3 前端管理界面的部署
进入到 webadmin 文件夹,进行相关操作。
- 安装依赖
npm i
- 编译
npm run build
- 编译完成,在 dist 目录可以得到 html js 和 css 等静态文件,直接部署到 nginx 即可。
常见问题:
该项目使用 react-router v6, 如果遇到后台 404 的情况,尝试在 nginx 该网站的 server 块中追加如下配置:
location / {
try_files $uri /index.html;
}
4. Cookie 刷新脚本部署
进入目录 scripts 文件夹进行相关操作。
编辑 keep_alive.py 中的接口地址:
base_url = "http://127.0.0.1:9200"
启动 Cookie 刷新,此脚本读取所有后台账户,并以 10 线程的并发速度刷新账户信息。
python3 keep_alive.py
后台运行:
nohup python3 -u keep_alive.py &
该脚本使用后端 API 进行 Cookie 更新等相关操作,能与服务很好的解耦,所以部署在任何一台能访问 suno 接口的服务器上都可以。