@lobehub/lobehub 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +4 -6
- package/.env.example.development +0 -3
- package/.github/workflows/release-desktop-stable.yml +1 -1
- package/CHANGELOG.md +59 -0
- package/Dockerfile +6 -4
- package/README.md +2 -3
- package/README.zh-CN.md +2 -3
- package/changelog/v2.json +14 -0
- package/docker-compose/deploy/.env.example +3 -1
- package/docker-compose/deploy/.env.zh-CN.example +4 -1
- package/docker-compose/local/.env.example +0 -1
- package/docker-compose/local/.env.zh-CN.example +0 -1
- package/docker-compose/local/grafana/.env.example +0 -1
- package/docker-compose/local/grafana/.env.zh-CN.example +0 -1
- package/docker-compose/local/logto/docker-compose.yml +0 -1
- package/docker-compose/local/zitadel/.env.example +1 -2
- package/docker-compose/local/zitadel/.env.zh-CN.example +1 -2
- package/docker-compose/production/grafana/.env.example +0 -1
- package/docker-compose/production/grafana/.env.zh-CN.example +0 -1
- package/docker-compose/production/logto/.env.example +0 -2
- package/docker-compose/production/logto/.env.zh-CN.example +0 -2
- package/docker-compose/production/zitadel/.env.example +0 -2
- package/docker-compose/production/zitadel/.env.zh-CN.example +0 -2
- package/docker-compose/setup.sh +16 -2
- package/docs/development/basic/folder-structure.mdx +23 -14
- package/docs/development/basic/folder-structure.zh-CN.mdx +23 -14
- package/docs/development/basic/work-with-server-side-database.mdx +0 -1
- package/docs/development/basic/work-with-server-side-database.zh-CN.mdx +0 -1
- package/docs/development/start.mdx +19 -12
- package/docs/development/start.zh-CN.mdx +19 -12
- package/docs/self-hosting/advanced/s3/cloudflare-r2.mdx +0 -5
- package/docs/self-hosting/advanced/s3/cloudflare-r2.zh-CN.mdx +0 -5
- package/docs/self-hosting/advanced/s3/rustfs.mdx +0 -2
- package/docs/self-hosting/advanced/s3/rustfs.zh-CN.mdx +0 -2
- package/docs/self-hosting/advanced/s3/tencent-cloud.mdx +0 -1
- package/docs/self-hosting/advanced/s3/tencent-cloud.zh-CN.mdx +0 -2
- package/docs/self-hosting/advanced/s3.mdx +0 -9
- package/docs/self-hosting/advanced/s3.zh-CN.mdx +0 -8
- package/docs/self-hosting/auth/providers/password.mdx +112 -0
- package/docs/self-hosting/auth/providers/password.zh-CN.mdx +103 -0
- package/docs/self-hosting/auth.mdx +12 -0
- package/docs/self-hosting/auth.zh-CN.mdx +12 -0
- package/docs/self-hosting/environment-variables/auth.mdx +7 -0
- package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +7 -0
- package/docs/self-hosting/environment-variables/basic.mdx +0 -7
- package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +0 -7
- package/docs/self-hosting/environment-variables/s3.mdx +0 -7
- package/docs/self-hosting/environment-variables/s3.zh-CN.mdx +0 -7
- package/docs/self-hosting/examples/azure-openai.mdx +0 -1
- package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +0 -1
- package/docs/self-hosting/platform/docker-compose.mdx +0 -1
- package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +0 -1
- package/docs/self-hosting/platform/docker.mdx +5 -3
- package/docs/self-hosting/platform/docker.zh-CN.mdx +5 -4
- package/docs/self-hosting/platform/dokploy.mdx +0 -2
- package/docs/self-hosting/platform/dokploy.zh-CN.mdx +0 -2
- package/docs/self-hosting/platform/vercel.mdx +0 -7
- package/docs/self-hosting/platform/vercel.zh-CN.mdx +0 -7
- package/e2e/src/steps/home/sidebarAgent.steps.ts +56 -24
- package/locales/ar/authError.json +1 -0
- package/locales/ar/models.json +25 -22
- package/locales/ar/providers.json +0 -1
- package/locales/ar/setting.json +16 -0
- package/locales/bg-BG/authError.json +1 -0
- package/locales/bg-BG/models.json +18 -21
- package/locales/bg-BG/providers.json +0 -1
- package/locales/bg-BG/setting.json +16 -0
- package/locales/de-DE/authError.json +1 -0
- package/locales/de-DE/models.json +20 -20
- package/locales/de-DE/providers.json +0 -1
- package/locales/de-DE/setting.json +16 -0
- package/locales/en-US/auth.json +1 -0
- package/locales/en-US/models.json +22 -22
- package/locales/en-US/providers.json +0 -1
- package/locales/es-ES/authError.json +1 -0
- package/locales/es-ES/models.json +84 -20
- package/locales/es-ES/providers.json +0 -1
- package/locales/es-ES/setting.json +16 -0
- package/locales/fa-IR/authError.json +1 -0
- package/locales/fa-IR/models.json +43 -20
- package/locales/fa-IR/providers.json +0 -1
- package/locales/fa-IR/setting.json +16 -0
- package/locales/fr-FR/authError.json +1 -0
- package/locales/fr-FR/models.json +19 -21
- package/locales/fr-FR/providers.json +0 -1
- package/locales/fr-FR/setting.json +16 -0
- package/locales/it-IT/authError.json +1 -0
- package/locales/it-IT/models.json +17 -19
- package/locales/it-IT/providers.json +0 -1
- package/locales/it-IT/setting.json +16 -0
- package/locales/ja-JP/authError.json +1 -0
- package/locales/ja-JP/models.json +43 -22
- package/locales/ja-JP/providers.json +0 -1
- package/locales/ja-JP/setting.json +16 -0
- package/locales/ko-KR/authError.json +1 -0
- package/locales/ko-KR/models.json +41 -20
- package/locales/ko-KR/providers.json +0 -1
- package/locales/ko-KR/setting.json +16 -0
- package/locales/nl-NL/authError.json +1 -0
- package/locales/nl-NL/models.json +48 -20
- package/locales/nl-NL/providers.json +0 -1
- package/locales/nl-NL/setting.json +16 -0
- package/locales/pl-PL/authError.json +1 -0
- package/locales/pl-PL/models.json +19 -22
- package/locales/pl-PL/providers.json +0 -1
- package/locales/pl-PL/setting.json +16 -0
- package/locales/pt-BR/authError.json +1 -0
- package/locales/pt-BR/models.json +21 -21
- package/locales/pt-BR/providers.json +0 -1
- package/locales/pt-BR/setting.json +16 -0
- package/locales/ru-RU/authError.json +1 -0
- package/locales/ru-RU/models.json +23 -20
- package/locales/ru-RU/providers.json +0 -1
- package/locales/ru-RU/setting.json +16 -0
- package/locales/tr-TR/authError.json +1 -0
- package/locales/tr-TR/models.json +37 -20
- package/locales/tr-TR/providers.json +0 -1
- package/locales/tr-TR/setting.json +16 -0
- package/locales/vi-VN/authError.json +1 -0
- package/locales/vi-VN/models.json +15 -19
- package/locales/vi-VN/providers.json +0 -1
- package/locales/vi-VN/setting.json +16 -0
- package/locales/zh-CN/auth.json +1 -0
- package/locales/zh-CN/models.json +20 -20
- package/locales/zh-CN/providers.json +0 -1
- package/locales/zh-TW/authError.json +1 -0
- package/locales/zh-TW/models.json +20 -20
- package/locales/zh-TW/providers.json +0 -1
- package/locales/zh-TW/setting.json +16 -0
- package/netlify.toml +0 -1
- package/package.json +1 -1
- package/packages/model-bank/src/aiModels/google.ts +0 -19
- package/packages/model-bank/src/aiModels/moonshot.ts +56 -5
- package/packages/model-bank/src/aiModels/ollamacloud.ts +14 -0
- package/packages/model-bank/src/aiModels/openrouter.ts +0 -14
- package/packages/model-bank/src/aiModels/qwen.ts +105 -4
- package/packages/model-bank/src/aiModels/siliconcloud.ts +39 -0
- package/packages/model-bank/src/aiModels/wenxin.ts +0 -99
- package/packages/model-runtime/src/core/contextBuilders/openai.test.ts +24 -0
- package/packages/model-runtime/src/core/contextBuilders/openai.ts +22 -5
- package/packages/model-runtime/src/core/openaiCompatibleFactory/index.ts +10 -3
- package/packages/model-runtime/src/core/streams/google/google-ai.test.ts +54 -13
- package/packages/model-runtime/src/core/streams/google/index.ts +1 -4
- package/packages/model-runtime/src/providers/moonshot/index.ts +24 -2
- package/packages/model-runtime/src/providers/qwen/index.ts +16 -15
- package/packages/types/src/serverConfig.ts +1 -0
- package/src/app/[variants]/(auth)/signin/SignInEmailStep.tsx +56 -49
- package/src/app/[variants]/(auth)/signin/page.tsx +2 -0
- package/src/app/[variants]/(auth)/signin/useSignIn.ts +2 -0
- package/src/app/[variants]/(auth)/signup/[[...signup]]/page.tsx +7 -0
- package/src/envs/app.ts +0 -2
- package/src/envs/auth.ts +3 -0
- package/src/libs/better-auth/define-config.ts +1 -1
- package/src/libs/next/proxy/define-config.ts +0 -1
- package/src/locales/default/auth.ts +2 -0
- package/src/server/globalConfig/index.ts +1 -0
- package/src/server/routers/lambda/__tests__/integration/aiAgent/execAgent.integration.test.ts +3 -2
- package/src/store/chat/slices/topic/action.ts +1 -1
- package/src/store/electron/actions/settings.ts +7 -7
- package/src/store/electron/actions/sync.ts +11 -11
- package/src/store/global/actions/general.ts +12 -12
- package/src/store/global/initialState.ts +11 -11
- package/src/store/global/selectors/clientDB.ts +1 -1
- package/src/store/global/selectors/systemStatus.ts +1 -1
- package/src/store/image/slices/generationConfig/action.ts +12 -12
- package/src/store/image/utils/size.ts +11 -11
- package/src/store/library/slices/ragEval/actions/dataset.ts +1 -1
- package/src/store/serverConfig/selectors.ts +1 -0
- package/src/store/session/slices/session/initialState.ts +6 -6
- package/src/store/session/slices/session/reducers.ts +1 -1
- package/src/store/session/slices/sessionGroup/initialState.ts +2 -2
- package/src/store/tool/slices/customPlugin/action.ts +2 -2
- package/src/store/tool/slices/oldStore/action.ts +5 -5
- package/src/store/userMemory/slices/preference/action.ts +6 -6
|
@@ -39,8 +39,6 @@ We need to configure an S3 storage service in the server-side database to store
|
|
|
39
39
|
S3_BUCKET=LobeHub
|
|
40
40
|
# Request endpoint of the bucket (note that the path in this link includes the bucket name, which must be removed, or use the link provided on the page for applying S3 API token)
|
|
41
41
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
42
|
-
# Access domain of the bucket
|
|
43
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
44
42
|
```
|
|
45
43
|
|
|
46
44
|
<Callout type={'warning'}>
|
|
@@ -118,9 +116,6 @@ S3_SECRET_ACCESS_KEY=55af75d8eb6b99f189f6a35f855336ea62cd9c4751a5cf4337c53c1d3f4
|
|
|
118
116
|
S3_BUCKET=LobeHub
|
|
119
117
|
# Bucket Request Endpoint
|
|
120
118
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
121
|
-
# Public Access Domain for the Bucket
|
|
122
|
-
S3_PUBLIC_DOMAIN=https://s3-dev.your-domain.com
|
|
123
|
-
|
|
124
119
|
# Bucket Region, such as us-west-1. Generally not required, but some service providers may need it.
|
|
125
120
|
# S3_REGION=us-west-1
|
|
126
121
|
```
|
|
@@ -40,8 +40,6 @@ tags:
|
|
|
40
40
|
S3_BUCKET=LobeHub
|
|
41
41
|
# 存储桶的请求端点(注意此处链接的路径带存储桶名称,必须删除该路径,或使用申请 S3 API token 页面所提供的链接)
|
|
42
42
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
43
|
-
# 存储桶对外的访问域名
|
|
44
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
45
43
|
```
|
|
46
44
|
|
|
47
45
|
<Callout type={'warning'}>`S3_ENDPOINT`必须删除其路径,否则会无法访问所上传文件</Callout>
|
|
@@ -115,9 +113,6 @@ S3_SECRET_ACCESS_KEY=55af75d8eb6b99f189f6a35f855336ea62cd9c4751a5cf4337c53c1d3f4
|
|
|
115
113
|
S3_BUCKET=LobeHub
|
|
116
114
|
# 存储桶的请求端点
|
|
117
115
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
118
|
-
# 存储桶对外的访问域名
|
|
119
|
-
S3_PUBLIC_DOMAIN=https://s3-dev.your-domain.com
|
|
120
|
-
|
|
121
116
|
# 桶的区域,如 us-west-1,一般来说不需要添加,但某些服务商则需要配置
|
|
122
117
|
# S3_REGION=us-west-1
|
|
123
118
|
```
|
|
@@ -135,8 +135,6 @@ We need to configure an S3-compatible storage service in the server-side databas
|
|
|
135
135
|
S3_ENDPOINT=https://lobe-s3-api.example.com
|
|
136
136
|
# Bucket name
|
|
137
137
|
S3_BUCKET=lobe
|
|
138
|
-
# Public domain for accessing the bucket
|
|
139
|
-
S3_PUBLIC_DOMAIN=https://lobe-s3-api.example.com
|
|
140
138
|
S3_ENABLE_PATH_STYLE=1
|
|
141
139
|
```
|
|
142
140
|
</Steps>
|
|
@@ -39,7 +39,6 @@ We need to configure S3 storage service for file storage in the server-side data
|
|
|
39
39
|
S3_BUCKET=lobe-130xxxxxx2
|
|
40
40
|
S3_ENDPOINT=https://cos.ap-chengdu.myqcloud.com
|
|
41
41
|
S3_REGION=ap-chengdu
|
|
42
|
-
S3_PUBLIC_DOMAIN=https://lobe-1251234567.cos.ap-chengdu.myqcloud.com
|
|
43
42
|
```
|
|
44
43
|
|
|
45
44
|
<Callout type={'warning'}>
|
|
@@ -50,15 +50,6 @@ The best practice in this area is to use a file storage service (S3) to store im
|
|
|
50
50
|
|
|
51
51
|
Whether to set the ACL to `public-read` when uploading files. This option is enabled by default. If the service provider does not support setting individual ACLs for files (i.e., all files inherit the ACL of the storage bucket), enabling this option may cause request errors. Set `S3_SET_ACL` to `0` to disable it.
|
|
52
52
|
|
|
53
|
-
### `S3_PUBLIC_DOMAIN`
|
|
54
|
-
|
|
55
|
-
The public access domain of the storage bucket, used to access files in the storage bucket. This address needs to be **publicly readable**. The reason is that when OpenAI's gpt-4o and other vision models recognize images, OpenAI will try to download this image link on their servers. Therefore, this link must be publicly accessible. If it is a private link, OpenAI will not be able to access the image and thus will not be able to recognize the image content properly.
|
|
56
|
-
|
|
57
|
-
<Callout type={'warning'}>
|
|
58
|
-
Additionally, since this access domain is often a separate URL, it needs to be configured to allow
|
|
59
|
-
cross-origin access to the site. Otherwise, cross-origin issues will occur in the browser.
|
|
60
|
-
</Callout>
|
|
61
|
-
|
|
62
53
|
### `S3_ENABLE_PATH_STYLE`
|
|
63
54
|
|
|
64
55
|
Whether to enable the `path-style` access mode of S3. This option is disabled by default. If your S3 service provider uses `path-style`, set `S3_ENABLE_PATH_STYLE` to `1` to enable it.
|
|
@@ -46,14 +46,6 @@ LobeHub 在 [很早以前](https://x.com/lobehub/status/1724289575672291782) 就
|
|
|
46
46
|
|
|
47
47
|
是否在上传文件时设置 ACL 为 `public-read`。该选项默认启用。如果服务商不支持为文件设置单独的 ACL(即所有文件继承存储桶的 ACL),启用此选项可能会导致请求错误,将 `S3_SET_ACL` 设置为 `0` 即可关闭。
|
|
48
48
|
|
|
49
|
-
### `S3_PUBLIC_DOMAIN`
|
|
50
|
-
|
|
51
|
-
存储桶对外的访问域名,用于访问存储桶中的文件,这个地址需要**允许互联网可读**。 原因是 OpenAI 的 gpt-4o 等视觉模型识别图片时,OpenAI 会尝试在他们的服务器中下载这个图片链接,因此这个链接必须是公开可访问的,如果是私有的链接,OpenAI 将无法访问到这个图片,进而无法正常识别到图片内容。
|
|
52
|
-
|
|
53
|
-
<Callout type={'warning'}>
|
|
54
|
-
此外,由于该访问域名往往是一个独立的网址,因此需要配置允许站点的跨域访问,否则会在浏览器中出现跨域问题。
|
|
55
|
-
</Callout>
|
|
56
|
-
|
|
57
49
|
### `S3_ENABLE_PATH_STYLE`
|
|
58
50
|
|
|
59
51
|
是否启用 S3 的 `path-style` 访问模式。此选项默认禁用。如果您的 S3 服务提供商使用 `path-style`,请将 `S3_ENABLE_PATH_STYLE` 设置为 `1` 以启用它。
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Configuring Email/Password Authentication for LobeHub
|
|
3
|
+
description: >-
|
|
4
|
+
Learn how to configure email and password authentication for LobeHub,
|
|
5
|
+
including enabling/disabling options and SSO-only mode.
|
|
6
|
+
tags:
|
|
7
|
+
- Email
|
|
8
|
+
- Password
|
|
9
|
+
- Authentication
|
|
10
|
+
- LobeHub
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Configuring Email/Password Authentication
|
|
14
|
+
|
|
15
|
+
LobeHub supports traditional email and password authentication out of the box.
|
|
16
|
+
This guide covers the available configuration options.
|
|
17
|
+
|
|
18
|
+
## Default Behavior
|
|
19
|
+
|
|
20
|
+
By default, email/password authentication is enabled.
|
|
21
|
+
Users can register with their email address and set a password.
|
|
22
|
+
|
|
23
|
+
## Configuration Options
|
|
24
|
+
|
|
25
|
+
### Disable Email/Password Authentication (SSO-Only Mode)
|
|
26
|
+
|
|
27
|
+
If you want to force users to authenticate via SSO providers only,
|
|
28
|
+
set the following environment variable:
|
|
29
|
+
|
|
30
|
+
| Environment Variable | Type | Description |
|
|
31
|
+
| ----------------------------- | -------- | ------------------------------------------ |
|
|
32
|
+
| `AUTH_DISABLE_EMAIL_PASSWORD` | Optional | Set to `1` to disable email/password login |
|
|
33
|
+
|
|
34
|
+
When enabled:
|
|
35
|
+
|
|
36
|
+
- The email input field is hidden on the login page
|
|
37
|
+
- Only SSO provider buttons are displayed
|
|
38
|
+
- The signup page redirects to the login page
|
|
39
|
+
- Users must authenticate through configured SSO providers
|
|
40
|
+
|
|
41
|
+
<Callout type={'warning'}>
|
|
42
|
+
Before enabling SSO-only mode, ensure you have configured at least one SSO
|
|
43
|
+
provider via `AUTH_SSO_PROVIDERS`. Otherwise, users will have no way to log
|
|
44
|
+
in.
|
|
45
|
+
</Callout>
|
|
46
|
+
|
|
47
|
+
### Enable Email Verification
|
|
48
|
+
|
|
49
|
+
To require users to verify their email address before signing in:
|
|
50
|
+
|
|
51
|
+
| Environment Variable | Type | Description |
|
|
52
|
+
| ------------------------- | -------- | ---------------------------------------- |
|
|
53
|
+
| `AUTH_EMAIL_VERIFICATION` | Optional | Set to `1` to require email verification |
|
|
54
|
+
|
|
55
|
+
This requires configuring an email service (SMTP).
|
|
56
|
+
See [Email Service Configuration](/docs/self-hosting/auth/email) for details.
|
|
57
|
+
|
|
58
|
+
### Enable Magic Link Login
|
|
59
|
+
|
|
60
|
+
To allow passwordless login via email magic links:
|
|
61
|
+
|
|
62
|
+
| Environment Variable | Type | Description |
|
|
63
|
+
| ------------------------ | -------- | ------------------------------------- |
|
|
64
|
+
| `AUTH_ENABLE_MAGIC_LINK` | Optional | Set to `1` to enable magic link login |
|
|
65
|
+
|
|
66
|
+
This also requires configuring an email service (SMTP).
|
|
67
|
+
|
|
68
|
+
## Change Password
|
|
69
|
+
|
|
70
|
+
Users can change their password in two ways:
|
|
71
|
+
|
|
72
|
+
1. **Profile Settings**: Go to Settings > Profile to change password
|
|
73
|
+
2. **Forgot Password**: On the login page, enter email, proceed to the password step, then click "Forgot Password" below the password input
|
|
74
|
+
|
|
75
|
+
<Callout type={'info'}>
|
|
76
|
+
Both methods require email service (SMTP) to be configured for sending
|
|
77
|
+
password reset emails.
|
|
78
|
+
</Callout>
|
|
79
|
+
|
|
80
|
+
## Example Configurations
|
|
81
|
+
|
|
82
|
+
### SSO-Only (Disable Email/Password)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
AUTH_DISABLE_EMAIL_PASSWORD=1
|
|
86
|
+
AUTH_SSO_PROVIDERS=google,github
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Email/Password with Verification
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
AUTH_EMAIL_VERIFICATION=1
|
|
93
|
+
SMTP_HOST=smtp.example.com
|
|
94
|
+
SMTP_PORT=587
|
|
95
|
+
SMTP_USER=noreply@example.com
|
|
96
|
+
SMTP_PASS=your-password
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Email/Password with Magic Link
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
AUTH_ENABLE_MAGIC_LINK=1
|
|
103
|
+
SMTP_HOST=smtp.example.com
|
|
104
|
+
SMTP_PORT=587
|
|
105
|
+
SMTP_USER=noreply@example.com
|
|
106
|
+
SMTP_PASS=your-password
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
<Callout type={'tip'}>
|
|
110
|
+
Go to [Environment Variables](/docs/self-hosting/environment-variables/auth)
|
|
111
|
+
for detailed information on all authentication variables.
|
|
112
|
+
</Callout>
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 配置 LobeHub 邮箱密码登录
|
|
3
|
+
description: 了解如何配置 LobeHub 的邮箱密码登录,包括启用/禁用选项和仅 SSO 模式。
|
|
4
|
+
tags:
|
|
5
|
+
- 邮箱
|
|
6
|
+
- 密码
|
|
7
|
+
- 身份验证
|
|
8
|
+
- LobeHub
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 配置邮箱密码登录
|
|
12
|
+
|
|
13
|
+
LobeHub 默认支持传统的邮箱密码登录方式。本指南介绍可用的配置选项。
|
|
14
|
+
|
|
15
|
+
## 默认行为
|
|
16
|
+
|
|
17
|
+
默认情况下,邮箱密码登录已启用。用户可以使用邮箱地址注册并设置密码。
|
|
18
|
+
|
|
19
|
+
## 配置选项
|
|
20
|
+
|
|
21
|
+
### 禁用邮箱密码登录(仅 SSO 模式)
|
|
22
|
+
|
|
23
|
+
如果你希望强制用户只能通过 SSO 提供商登录,请设置以下环境变量:
|
|
24
|
+
|
|
25
|
+
| 环境变量 | 类型 | 描述 |
|
|
26
|
+
| ----------------------------- | -- | ---------------- |
|
|
27
|
+
| `AUTH_DISABLE_EMAIL_PASSWORD` | 可选 | 设置为 `1` 禁用邮箱密码登录 |
|
|
28
|
+
|
|
29
|
+
启用后:
|
|
30
|
+
|
|
31
|
+
- 登录页面隐藏邮箱输入框
|
|
32
|
+
- 仅显示 SSO 提供商登录按钮
|
|
33
|
+
- 注册页面重定向到登录页面
|
|
34
|
+
- 用户必须通过配置的 SSO 提供商进行身份验证
|
|
35
|
+
|
|
36
|
+
<Callout type={'warning'}>
|
|
37
|
+
启用仅 SSO 模式前,请确保已通过 `AUTH_SSO_PROVIDERS` 配置了至少一个 SSO
|
|
38
|
+
提供商。否则用户将无法登录。
|
|
39
|
+
</Callout>
|
|
40
|
+
|
|
41
|
+
### 启用邮箱验证
|
|
42
|
+
|
|
43
|
+
要求用户在登录前验证邮箱地址:
|
|
44
|
+
|
|
45
|
+
| 环境变量 | 类型 | 描述 |
|
|
46
|
+
| ------------------------- | -- | -------------- |
|
|
47
|
+
| `AUTH_EMAIL_VERIFICATION` | 可选 | 设置为 `1` 启用邮箱验证 |
|
|
48
|
+
|
|
49
|
+
这需要配置邮件服务(SMTP)。详情请参阅[邮件服务配置](/zh/docs/self-hosting/auth/email)。
|
|
50
|
+
|
|
51
|
+
### 启用魔法链接登录
|
|
52
|
+
|
|
53
|
+
允许通过邮件魔法链接实现无密码登录:
|
|
54
|
+
|
|
55
|
+
| 环境变量 | 类型 | 描述 |
|
|
56
|
+
| ------------------------ | -- | ---------------- |
|
|
57
|
+
| `AUTH_ENABLE_MAGIC_LINK` | 可选 | 设置为 `1` 启用魔法链接登录 |
|
|
58
|
+
|
|
59
|
+
这也需要配置邮件服务(SMTP)。
|
|
60
|
+
|
|
61
|
+
## 修改密码
|
|
62
|
+
|
|
63
|
+
用户可以通过以下两种方式修改密码:
|
|
64
|
+
|
|
65
|
+
1. **个人设置**:前往 设置 > 个人资料 修改密码
|
|
66
|
+
2. **忘记密码**:在登录页面输入邮箱后,进入密码输入步骤,点击密码框下方的「忘记密码」
|
|
67
|
+
|
|
68
|
+
<Callout type={'info'}>
|
|
69
|
+
以上两种方式都需要配置邮件服务(SMTP)以发送密码重置邮件。
|
|
70
|
+
</Callout>
|
|
71
|
+
|
|
72
|
+
## 配置示例
|
|
73
|
+
|
|
74
|
+
### 仅 SSO(禁用邮箱密码)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
AUTH_DISABLE_EMAIL_PASSWORD=1
|
|
78
|
+
AUTH_SSO_PROVIDERS=google,github
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 邮箱密码 + 邮箱验证
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
AUTH_EMAIL_VERIFICATION=1
|
|
85
|
+
SMTP_HOST=smtp.example.com
|
|
86
|
+
SMTP_PORT=587
|
|
87
|
+
SMTP_USER=noreply@example.com
|
|
88
|
+
SMTP_PASS=your-password
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 邮箱密码 + 魔法链接
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
AUTH_ENABLE_MAGIC_LINK=1
|
|
95
|
+
SMTP_HOST=smtp.example.com
|
|
96
|
+
SMTP_PORT=587
|
|
97
|
+
SMTP_USER=noreply@example.com
|
|
98
|
+
SMTP_PASS=your-password
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
<Callout type={'tip'}>
|
|
102
|
+
前往[环境变量](/zh/docs/self-hosting/environment-variables/auth)查看所有身份验证相关变量的详细信息。
|
|
103
|
+
</Callout>
|
|
@@ -61,6 +61,8 @@ To enable Better Auth in LobeHub, set the following environment variables:
|
|
|
61
61
|
Click on a provider below for detailed configuration guides:
|
|
62
62
|
|
|
63
63
|
<Cards>
|
|
64
|
+
<Card href={'/docs/self-hosting/advanced/auth/providers/password'} title={'Email/Password'} />
|
|
65
|
+
|
|
64
66
|
<Card href={'/docs/self-hosting/advanced/auth/providers/github'} title={'GitHub'} />
|
|
65
67
|
|
|
66
68
|
<Card href={'/docs/self-hosting/advanced/auth/providers/google'} title={'Google'} />
|
|
@@ -149,6 +151,16 @@ The current authentication system requires email. Please configure a valid email
|
|
|
149
151
|
|
|
150
152
|
This applies to all authentication methods, including SSO providers like Casdoor. Always ensure users have valid email addresses configured.
|
|
151
153
|
|
|
154
|
+
### How do I enable SSO-only mode (disable email/password login)?
|
|
155
|
+
|
|
156
|
+
Set `AUTH_DISABLE_EMAIL_PASSWORD=1` to disable email/password authentication. When enabled:
|
|
157
|
+
|
|
158
|
+
- The email input will be hidden on the login page, only SSO buttons are displayed
|
|
159
|
+
- The signup page will redirect to the login page
|
|
160
|
+
- Users can only log in via configured SSO providers
|
|
161
|
+
|
|
162
|
+
Make sure you have at least one SSO provider configured via `AUTH_SSO_PROVIDERS` before enabling this option.
|
|
163
|
+
|
|
152
164
|
### How do I restrict registration to specific emails or domains?
|
|
153
165
|
|
|
154
166
|
Set the `AUTH_ALLOWED_EMAILS` environment variable with a comma-separated list of allowed emails or domains. For example:
|
|
@@ -61,6 +61,8 @@ LobeHub 支持使用 Better Auth 配置外部身份验证服务,供企业 /
|
|
|
61
61
|
点击下方提供商查看详细配置指南:
|
|
62
62
|
|
|
63
63
|
<Cards>
|
|
64
|
+
<Card href={'/zh/docs/self-hosting/advanced/auth/providers/password'} title={'邮箱密码'} />
|
|
65
|
+
|
|
64
66
|
<Card href={'/zh/docs/self-hosting/advanced/auth/providers/github'} title={'GitHub'} />
|
|
65
67
|
|
|
66
68
|
<Card href={'/zh/docs/self-hosting/advanced/auth/providers/google'} title={'Google'} />
|
|
@@ -150,6 +152,16 @@ Better Auth 支持内置提供商(Google、GitHub、Microsoft、Apple、AWS Co
|
|
|
150
152
|
|
|
151
153
|
这适用于所有身份验证方式,包括 Casdoor 等 SSO 提供商。请确保用户配置了有效的邮箱地址。
|
|
152
154
|
|
|
155
|
+
### 如何启用仅 SSO 模式(禁用邮箱密码登录)?
|
|
156
|
+
|
|
157
|
+
设置 `AUTH_DISABLE_EMAIL_PASSWORD=1` 可禁用邮箱密码登录。启用后:
|
|
158
|
+
|
|
159
|
+
- 登录页面将隐藏邮箱输入框,仅显示 SSO 登录按钮
|
|
160
|
+
- 注册页面将重定向到登录页面
|
|
161
|
+
- 用户只能通过配置的 SSO 提供商登录
|
|
162
|
+
|
|
163
|
+
启用此选项前,请确保已通过 `AUTH_SSO_PROVIDERS` 配置了至少一个 SSO 提供商。
|
|
164
|
+
|
|
153
165
|
### 如何限制只允许特定邮箱或域名注册?
|
|
154
166
|
|
|
155
167
|
设置 `AUTH_ALLOWED_EMAILS` 环境变量,支持完整邮箱地址或域名,以逗号分隔。例如:
|
|
@@ -46,6 +46,13 @@ LobeHub provides a complete authentication service capability when deployed. The
|
|
|
46
46
|
- Default: `-`
|
|
47
47
|
- Example: `example.com,admin@other.com`
|
|
48
48
|
|
|
49
|
+
#### `AUTH_DISABLE_EMAIL_PASSWORD`
|
|
50
|
+
|
|
51
|
+
- Type: Optional
|
|
52
|
+
- Description: Set to `1` to disable email/password authentication, forcing users to use SSO login only. When enabled, the email input will be hidden on the login page and the signup page will redirect to login.
|
|
53
|
+
- Default: `0`
|
|
54
|
+
- Example: `1`
|
|
55
|
+
|
|
49
56
|
#### `JWKS_KEY`
|
|
50
57
|
|
|
51
58
|
- Type: Required
|
|
@@ -44,6 +44,13 @@ LobeHub 在部署时提供了完善的身份验证服务能力,以下是相关
|
|
|
44
44
|
- 默认值:`-`
|
|
45
45
|
- 示例:`example.com,admin@other.com`
|
|
46
46
|
|
|
47
|
+
#### `AUTH_DISABLE_EMAIL_PASSWORD`
|
|
48
|
+
|
|
49
|
+
- 类型:可选
|
|
50
|
+
- 描述:设置为 `1` 以禁用邮箱密码登录,强制用户使用 SSO 登录。启用后,登录页面将隐藏邮箱输入框,注册页面将重定向到登录页。
|
|
51
|
+
- 默认值:`0`
|
|
52
|
+
- 示例:`1`
|
|
53
|
+
|
|
47
54
|
#### `JWKS_KEY`
|
|
48
55
|
|
|
49
56
|
- 类型:必选
|
|
@@ -190,13 +190,6 @@ SSRF_ALLOW_IP_ADDRESS_LIST=192.168.1.100,10.0.0.50
|
|
|
190
190
|
- Allow access to internal API gateway: `10.0.0.50`
|
|
191
191
|
- Allow access to internal documentation server: `172.16.0.10`
|
|
192
192
|
|
|
193
|
-
### `ENABLE_AUTH_PROTECTION`
|
|
194
|
-
|
|
195
|
-
- Type: Optional
|
|
196
|
-
- Description: Controls whether to enable route protection. When set to `1`, all routes except public routes (like `/api/auth`, `/login`, `/signup`) will require authentication. When set to `0` or not set, only specific protected routes (like `/settings`, `/files`) will require authentication.
|
|
197
|
-
- Default: `0`
|
|
198
|
-
- Example: `1` or `0`
|
|
199
|
-
|
|
200
193
|
### `NEXT_PUBLIC_ASSET_PREFIX`
|
|
201
194
|
|
|
202
195
|
- Type: Optional
|
|
@@ -185,13 +185,6 @@ SSRF_ALLOW_IP_ADDRESS_LIST=192.168.1.100,10.0.0.50
|
|
|
185
185
|
- 允许访问内网 API 网关:`10.0.0.50`
|
|
186
186
|
- 允许访问内网文档服务器:`172.16.0.10`
|
|
187
187
|
|
|
188
|
-
### `ENABLE_AUTH_PROTECTION`
|
|
189
|
-
|
|
190
|
-
- 类型:可选
|
|
191
|
-
- 说明:控制是否启用路由保护。当设置为 `1` 时,除了公共路由(如 `/api/auth`、`/login`、`/signup`)外,所有路由都需要认证。当设置为 `0` 或未设置时,只有特定的受保护路由(如 `/settings`、`/files` 等)需要认证。
|
|
192
|
-
- 默认值:`0`
|
|
193
|
-
- 示例:`1` 或 `0`
|
|
194
|
-
|
|
195
188
|
### `NEXT_PUBLIC_ASSET_PREFIX`
|
|
196
189
|
|
|
197
190
|
- 类型:可选
|
|
@@ -58,13 +58,6 @@ LobeHub supports multimodal AI sessions, including the ability to upload unstruc
|
|
|
58
58
|
- Default: `1`
|
|
59
59
|
- Example: `0`
|
|
60
60
|
|
|
61
|
-
### `S3_PUBLIC_DOMAIN`
|
|
62
|
-
|
|
63
|
-
- Type: Required
|
|
64
|
-
- Description: Public access domain for the bucket, used to access files in the bucket
|
|
65
|
-
- Default: -
|
|
66
|
-
- Example: `https://files.example.com`
|
|
67
|
-
|
|
68
61
|
### `S3_ENABLE_PATH_STYLE`
|
|
69
62
|
|
|
70
63
|
- Type: Optional
|
|
@@ -40,4 +40,3 @@ If you want the deployed version to be pre-configured with Azure OpenAI for end
|
|
|
40
40
|
| `AZURE_ENDPOINT` | Required | Azure API address, can be found in the "Keys and Endpoints" section when checking resources in the Azure portal | - | `https://docs-test-001.openai.azure.com` |
|
|
41
41
|
| `AZURE_API_VERSION` | Required | Azure API version, following the format YYYY-MM-DD | 2023-08-01-preview | `-`, see [latest version](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions) |
|
|
42
42
|
| `AZURE_MODEL_LIST` | Required | Used to control the model list, use `+` to add a model, use `-` to hide a model, use `id->deplymentName=displayName` to customize the display name of a model, separated by commas. Definition syntax rules see [Model List](/docs/self-hosting/advanced/model-list) | - | `gpt-35-turbo->my-deploy=GPT 3.5 Turbo` or `gpt-4-turbo->my-gpt4=GPT 4 Turbo<128000:vision:fc>` |
|
|
43
|
-
| `ACCESS_CODE` | Optional | Add a password to access LobeHub. You can set a long password to prevent brute force attacks. When this value is separated by commas, it becomes an array of passwords | - | `awCT74` or `e3@09!` or `code1,code2,code3` |
|
|
@@ -42,4 +42,3 @@ LobeHub 支持使用 [Azure OpenAI](https://learn.microsoft.com/zh-cn/azure/ai-s
|
|
|
42
42
|
| `AZURE_ENDPOINT` | 必选 | Azure API 地址,从 Azure 门户检查资源时,可在 “密钥和终结点” 部分中找到此值 | - | `https://docs-test-001.openai.azure.com` |
|
|
43
43
|
| `AZURE_API_VERSION` | 必选 | Azure 的 API 版本,遵循 YYYY-MM-DD 格式 | 2023-08-01-preview | `-`,查阅[最新版本](https://learn.microsoft.com/zh-cn/azure/ai-services/openai/reference#chat-completions) |
|
|
44
44
|
| `AZURE_MODEL_LIST` | 必选 | 用来控制模型列表,使用 `模型名->部署名=展示名` 来自定义模型的展示名,用英文逗号隔开。支持扩展能力,其余语法规则详见 [模型列表](/zh/docs/self-hosting/advanced/model-list) | - | `gpt-35-turbo->my-deploy=GPT 3.5 Turbo` 或 `gpt-4-turbo->my-gpt4=GPT 4 Turbo<128000:vision:fc>` |
|
|
45
|
-
| `ACCESS_CODE` | 可选 | 添加访问 LobeHub 的密码,你可以设置一个长密码以防被爆破,该值用逗号分隔时为密码数组 | - | `awCT74` 或 `e3@09!` or `code1,code2,code3` |
|
|
@@ -281,7 +281,6 @@ Now, we will introduce the necessary configurations for running these services:
|
|
|
281
281
|
LobeHub needs to provide a public access URL for object files for the LLM service provider, so you need to configure the S3 Endpoint:
|
|
282
282
|
|
|
283
283
|
```env
|
|
284
|
-
S3_PUBLIC_DOMAIN=https://s3.example.com
|
|
285
284
|
S3_ENDPOINT=https://s3.example.com
|
|
286
285
|
```
|
|
287
286
|
|
|
@@ -64,6 +64,10 @@ Here is the process for deploying the LobeHub server database version on a Linux
|
|
|
64
64
|
|
|
65
65
|
<GenerateSecret envName="AUTH_SECRET" />
|
|
66
66
|
|
|
67
|
+
Click the button below to generate `JWKS_KEY` (for signing and verifying JWTs):
|
|
68
|
+
|
|
69
|
+
<GenerateJWKSKey />
|
|
70
|
+
|
|
67
71
|
```shell
|
|
68
72
|
# Website domain
|
|
69
73
|
APP_URL=https://your-prod-domain.com
|
|
@@ -77,7 +81,7 @@ Here is the process for deploying the LobeHub server database version on a Linux
|
|
|
77
81
|
# Authentication (Better Auth)
|
|
78
82
|
# Session encryption key (generate with: openssl rand -base64 32)
|
|
79
83
|
AUTH_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
|
|
80
|
-
# JWKS key for signing and verifying JWTs
|
|
84
|
+
# JWKS key for signing and verifying JWTs
|
|
81
85
|
JWKS_KEY='{"keys":[...]}'
|
|
82
86
|
|
|
83
87
|
# S3 related
|
|
@@ -85,7 +89,6 @@ Here is the process for deploying the LobeHub server database version on a Linux
|
|
|
85
89
|
S3_SECRET_ACCESS_KEY=xxxxxxxxxx
|
|
86
90
|
S3_ENDPOINT=https://xxxxxxxxxx.r2.cloudflarestorage.com
|
|
87
91
|
S3_BUCKET=LobeHub
|
|
88
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
89
92
|
|
|
90
93
|
```
|
|
91
94
|
|
|
@@ -142,7 +145,6 @@ $ docker run -it -d --name lobehub -p 3210:3210 \
|
|
|
142
145
|
-e S3_SECRET_ACCESS_KEY=xxxxxxxxxx \
|
|
143
146
|
-e S3_ENDPOINT=https://xxxxxxxxxx.r2.cloudflarestorage.com \
|
|
144
147
|
-e S3_BUCKET=LobeHub \
|
|
145
|
-
-e S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com \
|
|
146
148
|
lobehub/lobehub
|
|
147
149
|
```
|
|
148
150
|
|
|
@@ -60,6 +60,10 @@ tags:
|
|
|
60
60
|
|
|
61
61
|
<GenerateSecret envName="AUTH_SECRET" />
|
|
62
62
|
|
|
63
|
+
点击下方按钮一键生成 `JWKS_KEY`(用于签名和验证 JWT):
|
|
64
|
+
|
|
65
|
+
<GenerateJWKSKey />
|
|
66
|
+
|
|
63
67
|
```shell
|
|
64
68
|
# 网站域名
|
|
65
69
|
APP_URL=https://your-prod-domain.com
|
|
@@ -74,7 +78,7 @@ tags:
|
|
|
74
78
|
# 身份验证(Better Auth)
|
|
75
79
|
# 会话加密密钥(使用以下命令生成:openssl rand -base64 32)
|
|
76
80
|
AUTH_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
|
|
77
|
-
# JWKS 密钥,用于签名和验证 JWT
|
|
81
|
+
# JWKS 密钥,用于签名和验证 JWT
|
|
78
82
|
JWKS_KEY='{"keys":[...]}'
|
|
79
83
|
|
|
80
84
|
# S3 相关
|
|
@@ -83,8 +87,6 @@ tags:
|
|
|
83
87
|
# 用于 S3 API 访问的域名
|
|
84
88
|
S3_ENDPOINT=https://xxxxxxxxxx.r2.cloudflarestorage.com
|
|
85
89
|
S3_BUCKET=LobeHub
|
|
86
|
-
# 用于外网访问 S3 的公共域名,需配置 CORS
|
|
87
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
88
90
|
# S3_REGION=ap-chengdu # 如果需要指定地域
|
|
89
91
|
|
|
90
92
|
```
|
|
@@ -142,7 +144,6 @@ $ docker run -it -d --name lobehub -p 3210:3210 \
|
|
|
142
144
|
-e S3_SECRET_ACCESS_KEY=xxxxxxxxxx \
|
|
143
145
|
-e S3_ENDPOINT=https://xxxxxxxxxx.r2.cloudflarestorage.com \
|
|
144
146
|
-e S3_BUCKET=LobeHub \
|
|
145
|
-
-e S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com \
|
|
146
147
|
lobehub/lobehub
|
|
147
148
|
```
|
|
148
149
|
|
|
@@ -39,7 +39,6 @@ S3_ACCESS_KEY_ID=
|
|
|
39
39
|
S3_SECRET_ACCESS_KEY=
|
|
40
40
|
S3_ENDPOINT=
|
|
41
41
|
S3_BUCKET=
|
|
42
|
-
S3_PUBLIC_DOMAIN=
|
|
43
42
|
S3_ENABLE_PATH_STYLE=
|
|
44
43
|
```
|
|
45
44
|
|
|
@@ -118,7 +117,6 @@ S3_ACCESS_KEY_ID=
|
|
|
118
117
|
S3_SECRET_ACCESS_KEY=
|
|
119
118
|
S3_ENDPOINT=
|
|
120
119
|
S3_BUCKET=
|
|
121
|
-
S3_PUBLIC_DOMAIN=
|
|
122
120
|
S3_ENABLE_PATH_STYLE=
|
|
123
121
|
|
|
124
122
|
```
|
|
@@ -40,7 +40,6 @@ S3_ACCESS_KEY_ID=
|
|
|
40
40
|
S3_SECRET_ACCESS_KEY=
|
|
41
41
|
S3_ENDPOINT=
|
|
42
42
|
S3_BUCKET=
|
|
43
|
-
S3_PUBLIC_DOMAIN=
|
|
44
43
|
S3_ENABLE_PATH_STYLE=
|
|
45
44
|
```
|
|
46
45
|
|
|
@@ -119,7 +118,6 @@ S3_ACCESS_KEY_ID=
|
|
|
119
118
|
S3_SECRET_ACCESS_KEY=
|
|
120
119
|
S3_ENDPOINT=
|
|
121
120
|
S3_BUCKET=
|
|
122
|
-
S3_PUBLIC_DOMAIN=
|
|
123
121
|
S3_ENABLE_PATH_STYLE=
|
|
124
122
|
|
|
125
123
|
```
|
|
@@ -154,8 +154,6 @@ In the server-side database, we need to configure the S3 storage service to stor
|
|
|
154
154
|
S3_BUCKET=LobeHub
|
|
155
155
|
# Storage bucket request endpoint (note that the path in this link includes the bucket name, which must be removed, or use the link provided on the S3 API token application page)
|
|
156
156
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
157
|
-
# Public access domain for the storage bucket
|
|
158
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
159
157
|
```
|
|
160
158
|
|
|
161
159
|
<Callout type={'warning'}>
|
|
@@ -204,9 +202,6 @@ In the server-side database, we need to configure the S3 storage service to stor
|
|
|
204
202
|
S3_BUCKET=LobeHub
|
|
205
203
|
# Bucket request endpoint
|
|
206
204
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
207
|
-
# Public domain for bucket access
|
|
208
|
-
S3_PUBLIC_DOMAIN=https://s3-dev.your-domain.com
|
|
209
|
-
|
|
210
205
|
# Bucket region, such as us-west-1, generally not required, but some providers may need to configure
|
|
211
206
|
# S3_REGION=us-west-1
|
|
212
207
|
```
|
|
@@ -288,8 +283,6 @@ S3_SECRET_ACCESS_KEY=55af75d8eb6b99f189f6a35f855336ea62cd9c4751a5cf4337c53c1d3f4
|
|
|
288
283
|
S3_BUCKET=LobeHub
|
|
289
284
|
# Bucket request endpoint
|
|
290
285
|
S3_ENDPOINT=https://0b33a03b5c993fd2f453379dc36558e5.r2.cloudflarestorage.com
|
|
291
|
-
# Public access domain for the bucket
|
|
292
|
-
S3_PUBLIC_DOMAIN=https://s3-for-LobeHub.your-domain.com
|
|
293
286
|
# Bucket region, such as us-west-1, generally not needed to add, but some service providers may require configuration
|
|
294
287
|
# S3_REGION=us-west-1
|
|
295
288
|
```
|