跳到主要内容

环境与部署

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

  1. 在 MySQL 创建数据库 sunoapi

  2. 修改 .env 文件,配置正确的 MySQL 链接:

DATABASE_URL='mysql://root:root@192.168.124.233:3306/sunoapi'

2.2 安装依赖并启动程序

  1. 进入 backend 目录,并逐一执行下列命令
npm i
npm run generate
npm run migrate --name=init

其中 generate 是 Prisma 生成相关文件, migrate 是迁移表格(主要作用是建表),所以一般只执行一次。

  1. 如果需要调试,请运行:
npm run dev
  1. 编译
npm run build
  1. 运行
npm run start

后台运行,推荐使用 Docker 或者 pm2 进行管理,docker 文件已写好。

3 前端管理界面的部署

进入到 webadmin 文件夹,进行相关操作。

  1. 安装依赖
npm i
  1. 编译
npm run build
  1. 编译完成,在 dist 目录可以得到 html js 和 css 等静态文件,直接部署到 nginx 即可。

常见问题:

该项目使用 react-router v6, 如果遇到后台 404 的情况,尝试在 nginx 该网站的 server 块中追加如下配置:

location / {
try_files $uri /index.html;
}

进入目录 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 接口的服务器上都可以。