diff --git a/pages/docs/docker.mdx b/pages/docs/docker.mdx index 92846848..d8520d33 100644 --- a/pages/docs/docker.mdx +++ b/pages/docs/docker.mdx @@ -85,6 +85,12 @@ import { EnvVariableConfig } from '@components/EnvVariableConfig' ### 启动 Core + +如果你的服务器在国内,无法拉取镜像或拉取速度过慢可自行使用代理或在 `docker-compose.yml` 里的 image 前添加镜像域名,比如 `docker.1panel.top/innei/mx-server:latest`。 + +镜像域名可参考 [国内 Docker 服务状态 & 镜像加速监控](https://status.1panel.top/status/docker) + + ```bash docker compose up -d ``` diff --git a/pages/docs/extra.mdx b/pages/docs/extra.mdx index c25f2cb1..9943c0db 100644 --- a/pages/docs/extra.mdx +++ b/pages/docs/extra.mdx @@ -211,9 +211,33 @@ server { - `redis_host` Redis 服务地址,域名、IP 都可以 - `redis_port` Redis 服务端口 - `redis_password` Redis 服务密码 +- `disable_cache` 是否禁用缓存,默认不启用 在默认情况下,我们认为这样已经足够了。 +### 对于 Docker 部署 + +和编辑其他环境变量一样,在 `service.app` 的 `environment` 部分添加你需要传入的值,如下所示: + +```yml {9-10} +services: + app: + container_name: mx-server + image: innei/mx-server:latest + environment: + - TZ=Asia/Shanghai + - NODE_ENV=production + - DB_HOST=mongo + - REDIS_HOST=远端地址 + - REDIS_PASSWORD=redis?passwd + - ALLOWED_ORIGINS=localhost + - JWT_SECRET=YOUR_SUPER_SECURED_JWT_SECRET_STRING + volumes: + - ./data/mx-space:/root/.mx-space +``` + +修改完成后 `docker compose up -d` 重启服务即可。 + ### 对于进阶部署 针对这种部署方式,我们可以修改 `ecosystem.config.js` 在 12 行,也就是 `script` 这一项,添加你需要传入的值,如下所示: @@ -247,18 +271,44 @@ pnpm prod:pm2 如果你需要使用来自 (远端 / 非容器) 的 MongoDB 服务,你可以通过使用 `argv` 来动态传入对应的配置项。 -支持传入如下值: +支持传入如下值:(除 `collection_name` 外其余变量名在 Docker 中变量均为对应大写) -- `collection_name` 数据库集合名字 +- `collection_name` 数据库集合名字(Docker 对应变量为 `DB_COLLECTION_NAME`) - `db_host` MongoDB 服务地址,域名、IP 都可以 - `db_port` MongoDB 服务端口 - `db_user` MongoDB 服务用户名 - `db_password` MongoDB 服务密码 +- `db_connection_string` MongoDB 数据库连接地址(以 `mongodb://` 开头的一串内容),此配置项优先级大于上述五项 +- `db_options` MongoDB 数据库连接选项 如果你需要使用密码登录,你不仅仅需要传入 password,还需要传入 user,建议你对数据库集合划分好用户权限 +### 对于 Docker 部署 + +和编辑其他环境变量一样,在 `services.app` 的 `environment` 部分添加你需要传入的值,如下所示: + +```yml {8-10} +services: + app: + container_name: mx-server + image: innei/mx-server:latest + environment: + - TZ=Asia/Shanghai + - NODE_ENV=production + - DB_HOST=远端地址 + - DB_USER=mongodb-test + - DB_PASSWORD=db?passwd + - REDIS_HOST=redis + - ALLOWED_ORIGINS=localhost + - JWT_SECRET=YOUR_SUPER_SECURED_JWT_SECRET_STRING + volumes: + - ./data/mx-space:/root/.mx-space +``` + +修改完成后 `docker compose up -d` 重启服务即可。 + ### 对于进阶部署 和 Redis 一样,我们可以修改 `ecosystem.config.js` 在 12 行,也就是 `script` 这一项,添加你需要传入的值,如下所示: diff --git a/pages/themes/shiro/index.mdx b/pages/themes/shiro/index.mdx index 01912979..d178baf3 100644 --- a/pages/themes/shiro/index.mdx +++ b/pages/themes/shiro/index.mdx @@ -34,8 +34,8 @@ import { ToGitHub } from '@components/ToGitHub' - (选择 Vercel 部署)已注册 [Vercel](https://vercel.com/) 和 [GitHub](https://github.com/) 账号 - 自 Core v7 起,已抛弃 Clerk,取而待之的是 GitHub 和 Google 的 OAuth 2.0 - 配置请参考[OAuth 2.0](/usage/oauth) + 自 Core v7 起,已抛弃 Clerk,取而代之的是 GitHub 和 Google 的 OAuth 2.0, + 配置步骤请参考[OAuth 2.0](/usage/oauth) ~~请注意,Shiro 主题的部署教程与初版有所不同,如果你已经部署过 Shiro 主题,请重新阅读本文档(尤其是填入配置文件环节,配置有所变化),并阅读 @@ -47,9 +47,22 @@ import { ToGitHub } from '@components/ToGitHub' import { Steps } from 'nextra/components' import Video from '@components/Video' +export function FAQBox({ title, children }) { + return ( +
+ + {title} + +
{children}
+
+ ) +} + -### 打开 Clerk 创建项目 (已弃用) + 打开 [Clerk 仪表盘](https://dashboard.clerk.com/) 点击 Add application 按钮,填入你的博客名称,并配置信息,点击 Create application 按钮,即可完成配置。 @@ -57,6 +70,8 @@ import Video from '@components/Video' + ### 设置主题配置 进入 Mix Space 后台,进入「配置与云函数」页面,点击右上角的新增按钮,在编辑页面中,填入以下设置: @@ -314,7 +329,7 @@ import { EnvVariableConfig } from '@components/EnvVariableConfig' 参见 [README 相关部分](https://github.com/Innei/Shiro/blob/main/README.md#whale-运行) 完成对应操作,随后配置[反向代理](/docs/extra#反向代理)。 -## Clerk 登录与 Mix Space 后端绑定(已过时) + 如果你遇到在 Shiro 登录之后,无法评论遇到 "和主人重名" 的报错,是因为 Clerk 的用户名和 Mix Space 后端的用户名重复了,你需要绑定本系统和 Clerk 的用户。让某个 Clerk 用户具有管理员权限。 @@ -340,16 +355,20 @@ Key: Refer: https://github.com/Innei/Shiro/issues/137 + + ## 完成! 至此,你已完成了 Shiro 主题的部署,你可以访问你的博客了。 -## 移除 Edge Config + 在后续的 Shiro 更新中,Edge Config 将不再被使用。你可能需要移除 Edge Config,以防止不必要的资源使用。 进入 Vercel 部署此项目的仪表盘,点击上方的 Storage,进入设置页面,点击左侧的 Projects,将链接的项目取消链接,接着点击左侧的 Settings,点击右侧的 Delete Edge Config 按钮,即可完成删除。 + + ## 更新 ### Vercel 托管 diff --git a/pages/usage/oauth.mdx b/pages/usage/oauth.mdx index 07f74718..d408c4c5 100644 --- a/pages/usage/oauth.mdx +++ b/pages/usage/oauth.mdx @@ -13,11 +13,11 @@ import { Steps } from 'nextra/components'; 参考以下两篇: - [在 GitHub 新建 OAuth 应用](https://docs.github.com/zh/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) -- [在 Google Cloud 新建 OAuth 应用](https://developers.google.com/identity/protocols/oauth2/web-server?hl=zh-cn#creatingcred) +- [在 Google Cloud Console 新建 OAuth 应用](https://developers.google.com/identity/protocols/oauth2/web-server?hl=zh-cn#creatingcred) 对于 GitHub,`Homepage URL` 填写前端地址,`Authorization callback URL` 根据后台提示复制粘贴。 -对于 Google,`已获授权的 JavaScript 来源` 填写前端地址,`已获授权的重定向 URI` 根据后台提示复制粘贴。 +对于 Google,你可能需要先配置好 OAuth 权限请求页面,其中已获授权的网域填写根域名,API 范围选择非敏感范围的三项。OAuth 应用中 `已获授权的 JavaScript 来源` 填写前端地址,`已获授权的重定向 URI` 根据后台提示复制粘贴。 完成后会获取 Client ID 和 Client Secret,将他们复制下来备用。