这是一个利用 GitHub Action 去构建 Shiroi 然后部署到远程服务器的工作流。
Shiroi 是 Shiro 的闭源开发版本。
开源版本提供了预构建的 Docker 镜像或者编译产物可直接使用,但是闭源版本并没有提供。
因为 Next.js build 需要大量内存,很多服务器并吃不消这样的开销。
因此这里提供利用 GitHub Action 去完成构建然后推送到服务器。
你可以使用定时任务去定时更新 Shiroi。
开始之前,你的服务器首先需要安装 Node.js, npm, pnpm, pm2, sharp。
关于 sharp 的安装,你可以使用
npm i -g sharp
sharp 不是必须的,但是在运行过程中会出现报错。参考:https://nextjs.org/docs/messages/sharp-missing-in-production
在你的服务器家目录,新建 shiro
的目录,然后新建 .env
填写你的变量。
# Env from https://github.com/innei-dev/Shiroi/blob/main/.env.template
NEXT_PUBLIC_API_URL=
NEXT_PUBLIC_GATEWAY_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
## Clerk
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
TMDB_API_KEY=
GH_TOKEN=
Fork 此项目,然后你需要填写下面的信息。
HOST
服务器地址USER
服务器用户名PASSWORD
服务器密码PORT
服务器 SSH 端口KEY
服务器 SSH Key(可选,密码 key 二选一)GH_PAT
可访问 Shiroi 仓库的 Github Token
- 你的账号可以访问 Shiroi 仓库。
- 进入 tokens - Personal access tokens - Tokens (classic) - Generate new token - Generate new token (classic)
为了让 PM2 在服务器重启之后能够还原进程。可以使用:
pm2 startup
pm2 save