Skip to content
This repository was archived by the owner on Nov 2, 2024. It is now read-only.

Commit 3eb2443

Browse files
authored
add: docker extra config (#83)
1 parent 7b0ebb9 commit 3eb2443

File tree

4 files changed

+84
-9
lines changed

4 files changed

+84
-9
lines changed

pages/docs/docker.mdx

+6
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@ import { EnvVariableConfig } from '@components/EnvVariableConfig'
8585

8686
### 启动 Core
8787

88+
<Callout type="warning" emoji="⚠️">
89+
如果你的服务器在国内,无法拉取镜像或拉取速度过慢可自行使用代理或在 `docker-compose.yml` 里的 image 前添加镜像域名,比如 `docker.1panel.top/innei/mx-server:latest`
90+
91+
镜像域名可参考 [国内 Docker 服务状态 & 镜像加速监控](https://status.1panel.top/status/docker)
92+
</Callout>
93+
8894
```bash
8995
docker compose up -d
9096
```

pages/docs/extra.mdx

+52-2
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,33 @@ server {
211211
- `redis_host` Redis 服务地址,域名、IP 都可以
212212
- `redis_port` Redis 服务端口
213213
- `redis_password` Redis 服务密码
214+
- `disable_cache` 是否禁用缓存,默认不启用
214215

215216
在默认情况下,我们认为这样已经足够了。
216217

218+
### 对于 Docker 部署
219+
220+
和编辑其他环境变量一样,在 `service.app``environment` 部分添加你需要传入的值,如下所示:
221+
222+
```yml {9-10}
223+
services:
224+
app:
225+
container_name: mx-server
226+
image: innei/mx-server:latest
227+
environment:
228+
- TZ=Asia/Shanghai
229+
- NODE_ENV=production
230+
- DB_HOST=mongo
231+
- REDIS_HOST=远端地址
232+
- REDIS_PASSWORD=redis?passwd
233+
- ALLOWED_ORIGINS=localhost
234+
- JWT_SECRET=YOUR_SUPER_SECURED_JWT_SECRET_STRING
235+
volumes:
236+
- ./data/mx-space:/root/.mx-space
237+
```
238+
239+
修改完成后 `docker compose up -d` 重启服务即可。
240+
217241
### 对于进阶部署
218242

219243
针对这种部署方式,我们可以修改 `ecosystem.config.js` 在 12 行,也就是 `script` 这一项,添加你需要传入的值,如下所示:
@@ -247,18 +271,44 @@ pnpm prod:pm2
247271

248272
如果你需要使用来自 (远端 / 非容器) 的 MongoDB 服务,你可以通过使用 `argv` 来动态传入对应的配置项。
249273

250-
支持传入如下值:
274+
支持传入如下值:(除 `collection_name` 外其余变量名在 Docker 中变量均为对应大写)
251275

252-
- `collection_name` 数据库集合名字
276+
- `collection_name` 数据库集合名字(Docker 对应变量为 `DB_COLLECTION_NAME`
253277
- `db_host` MongoDB 服务地址,域名、IP 都可以
254278
- `db_port` MongoDB 服务端口
255279
- `db_user` MongoDB 服务用户名
256280
- `db_password` MongoDB 服务密码
281+
- `db_connection_string` MongoDB 数据库连接地址(以 `mongodb://` 开头的一串内容),此配置项优先级大于上述五项
282+
- `db_options` MongoDB 数据库连接选项
257283

258284
<Callout type="warning" emoji="⚠️">
259285
如果你需要使用密码登录,你不仅仅需要传入 password,还需要传入 user,建议你对数据库集合划分好用户权限
260286
</Callout>
261287

288+
### 对于 Docker 部署
289+
290+
和编辑其他环境变量一样,在 `services.app``environment` 部分添加你需要传入的值,如下所示:
291+
292+
```yml {8-10}
293+
services:
294+
app:
295+
container_name: mx-server
296+
image: innei/mx-server:latest
297+
environment:
298+
- TZ=Asia/Shanghai
299+
- NODE_ENV=production
300+
- DB_HOST=远端地址
301+
- DB_USER=mongodb-test
302+
- DB_PASSWORD=db?passwd
303+
- REDIS_HOST=redis
304+
- ALLOWED_ORIGINS=localhost
305+
- JWT_SECRET=YOUR_SUPER_SECURED_JWT_SECRET_STRING
306+
volumes:
307+
- ./data/mx-space:/root/.mx-space
308+
```
309+
310+
修改完成后 `docker compose up -d` 重启服务即可。
311+
262312
### 对于进阶部署
263313

264314
和 Redis 一样,我们可以修改 `ecosystem.config.js` 在 12 行,也就是 `script` 这一项,添加你需要传入的值,如下所示:

pages/themes/shiro/index.mdx

+24-5
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import { ToGitHub } from '@components/ToGitHub'
3434
- (选择 Vercel 部署)已注册 [Vercel](https://vercel.com/)[GitHub](https://github.com/) 账号
3535

3636
<Callout type="warning">
37-
自 Core v7 起,已抛弃 Clerk,取而待之的是 GitHub 和 Google 的 OAuth 2.0
38-
配置请参考[OAuth 2.0](/usage/oauth)
37+
自 Core v7 起,已抛弃 Clerk,取而代之的是 GitHub 和 Google 的 OAuth 2.0
38+
配置步骤请参考[OAuth 2.0](/usage/oauth)
3939

4040
~~请注意,Shiro 主题的部署教程与初版有所不同,如果你已经部署过 Shiro
4141
主题,请重新阅读本文档(尤其是填入配置文件环节,配置有所变化),并阅读
@@ -47,16 +47,31 @@ import { ToGitHub } from '@components/ToGitHub'
4747
import { Steps } from 'nextra/components'
4848
import Video from '@components/Video'
4949

50+
export function FAQBox({ title, children }) {
51+
return (
52+
<details
53+
className="last-of-type:mb-0 rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2 mt-4"
54+
>
55+
<summary>
56+
<strong className="text-lg">{title}</strong>
57+
</summary>
58+
<div className="nx-p-2">{children}</div>
59+
</details>
60+
)
61+
}
62+
5063
<Steps>
5164

52-
### 打开 Clerk 创建项目 (已弃用)
65+
<FAQBox title="打开 Clerk 创建项目(已弃用)">
5366

5467
打开 [Clerk 仪表盘](https://dashboard.clerk.com/) 点击 Add application 按钮,填入你的博客名称,并配置信息,点击 Create application 按钮,即可完成配置。
5568

5669
> 请你务必记住你的 Clerk 页面的公钥和私钥,稍后将会用到。
5770
5871
<Video src="https://pan.vinua.cn/f/Mv1Ty/clerk_create_project.mp4" />
5972

73+
</FAQBox>
74+
6075
### 设置主题配置
6176

6277
进入 Mix Space 后台,进入「配置与云函数」页面,点击右上角的新增按钮,在编辑页面中,填入以下设置:
@@ -314,7 +329,7 @@ import { EnvVariableConfig } from '@components/EnvVariableConfig'
314329

315330
参见 [README 相关部分](https://github.com/Innei/Shiro/blob/main/README.md#whale-运行) 完成对应操作,随后配置[反向代理](/docs/extra#反向代理)
316331

317-
## Clerk 登录与 Mix Space 后端绑定(已过时)
332+
<FAQBox title="Clerk 登录与 Mix Space 后端绑定(已过时)">
318333

319334
如果你遇到在 Shiro 登录之后,无法评论遇到 "和主人重名" 的报错,是因为 Clerk 的用户名和 Mix Space 后端的用户名重复了,你需要绑定本系统和 Clerk 的用户。让某个 Clerk 用户具有管理员权限。
320335

@@ -340,16 +355,20 @@ Key:
340355

341356
Refer: https://github.com/Innei/Shiro/issues/137
342357

358+
</FAQBox>
359+
343360
## 完成!
344361

345362
至此,你已完成了 Shiro 主题的部署,你可以访问你的博客了。
346363

347-
## 移除 Edge Config
364+
<FAQBox title="移除 Edge Config(已过时)">
348365

349366
在后续的 Shiro 更新中,Edge Config 将不再被使用。你可能需要移除 Edge Config,以防止不必要的资源使用。
350367

351368
进入 Vercel 部署此项目的仪表盘,点击上方的 Storage,进入设置页面,点击左侧的 Projects,将链接的项目取消链接,接着点击左侧的 Settings,点击右侧的 Delete Edge Config 按钮,即可完成删除。
352369

370+
</FAQBox>
371+
353372
## 更新
354373

355374
### Vercel 托管

pages/usage/oauth.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ import { Steps } from 'nextra/components';
1313
参考以下两篇:
1414

1515
- [在 GitHub 新建 OAuth 应用](https://docs.github.com/zh/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)
16-
- [在 Google Cloud 新建 OAuth 应用](https://developers.google.com/identity/protocols/oauth2/web-server?hl=zh-cn#creatingcred)
16+
- [在 Google Cloud Console 新建 OAuth 应用](https://developers.google.com/identity/protocols/oauth2/web-server?hl=zh-cn#creatingcred)
1717

1818
对于 GitHub,`Homepage URL` 填写前端地址,`Authorization callback URL` 根据后台提示复制粘贴。
1919

20-
对于 Google,`已获授权的 JavaScript 来源` 填写前端地址,`已获授权的重定向 URI` 根据后台提示复制粘贴。
20+
对于 Google,你可能需要先配置好 OAuth 权限请求页面,其中已获授权的网域填写根域名,API 范围选择非敏感范围的三项。OAuth 应用中 `已获授权的 JavaScript 来源` 填写前端地址,`已获授权的重定向 URI` 根据后台提示复制粘贴。
2121

2222
完成后会获取 Client ID 和 Client Secret,将他们复制下来备用。
2323

0 commit comments

Comments
 (0)