@lobehub/chat 1.21.15 → 1.21.16

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/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.21.16](https://github.com/lobehub/lobe-chat/compare/v1.21.15...v1.21.16)
6
+
7
+ <sup>Released on **2024-10-12**</sup>
8
+
9
+ <br/>
10
+
11
+ <details>
12
+ <summary><kbd>Improvements and Fixes</kbd></summary>
13
+
14
+ </details>
15
+
16
+ <div align="right">
17
+
18
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
19
+
20
+ </div>
21
+
5
22
  ### [Version 1.21.15](https://github.com/lobehub/lobe-chat/compare/v1.21.14...v1.21.15)
6
23
 
7
24
  <sup>Released on **2024-10-12**</sup>
package/Dockerfile CHANGED
@@ -33,23 +33,31 @@ RUN \
33
33
  FROM base AS builder
34
34
 
35
35
  ARG USE_CN_MIRROR
36
+ ARG NEXT_PUBLIC_BASE_PATH
37
+ ARG NEXT_PUBLIC_SENTRY_DSN
38
+ ARG NEXT_PUBLIC_ANALYTICS_POSTHOG
39
+ ARG NEXT_PUBLIC_POSTHOG_HOST
40
+ ARG NEXT_PUBLIC_POSTHOG_KEY
41
+ ARG NEXT_PUBLIC_ANALYTICS_UMAMI
42
+ ARG NEXT_PUBLIC_UMAMI_SCRIPT_URL
43
+ ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
36
44
 
37
- ENV NEXT_PUBLIC_BASE_PATH=""
45
+ ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}"
38
46
 
39
47
  # Sentry
40
- ENV NEXT_PUBLIC_SENTRY_DSN="" \
48
+ ENV NEXT_PUBLIC_SENTRY_DSN="${NEXT_PUBLIC_SENTRY_DSN}" \
41
49
  SENTRY_ORG="" \
42
50
  SENTRY_PROJECT=""
43
51
 
44
52
  # Posthog
45
- ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="" \
46
- NEXT_PUBLIC_POSTHOG_HOST="" \
47
- NEXT_PUBLIC_POSTHOG_KEY=""
53
+ ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="${NEXT_PUBLIC_ANALYTICS_POSTHOG}" \
54
+ NEXT_PUBLIC_POSTHOG_HOST="${NEXT_PUBLIC_POSTHOG_HOST}" \
55
+ NEXT_PUBLIC_POSTHOG_KEY="${NEXT_PUBLIC_POSTHOG_KEY}"
48
56
 
49
57
  # Umami
50
- ENV NEXT_PUBLIC_ANALYTICS_UMAMI="" \
51
- NEXT_PUBLIC_UMAMI_SCRIPT_URL="" \
52
- NEXT_PUBLIC_UMAMI_WEBSITE_ID=""
58
+ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
59
+ NEXT_PUBLIC_UMAMI_SCRIPT_URL="${NEXT_PUBLIC_UMAMI_SCRIPT_URL}" \
60
+ NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
53
61
 
54
62
  # Node
55
63
  ENV NODE_OPTIONS="--max-old-space-size=8192"
@@ -33,27 +33,38 @@ RUN \
33
33
  FROM base AS builder
34
34
 
35
35
  ARG USE_CN_MIRROR
36
-
37
- ENV NEXT_PUBLIC_SERVICE_MODE="server" \
36
+ ARG NEXT_PUBLIC_BASE_PATH
37
+ ARG NEXT_PUBLIC_SERVICE_MODE
38
+ ARG NEXT_PUBLIC_SENTRY_DSN
39
+ ARG NEXT_PUBLIC_ANALYTICS_POSTHOG
40
+ ARG NEXT_PUBLIC_POSTHOG_HOST
41
+ ARG NEXT_PUBLIC_POSTHOG_KEY
42
+ ARG NEXT_PUBLIC_ANALYTICS_UMAMI
43
+ ARG NEXT_PUBLIC_UMAMI_SCRIPT_URL
44
+ ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
45
+
46
+ ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}"
47
+
48
+ ENV NEXT_PUBLIC_SERVICE_MODE="${NEXT_PUBLIC_SERVICE_MODE:-server}" \
38
49
  APP_URL="http://app.com" \
39
50
  DATABASE_DRIVER="node" \
40
51
  DATABASE_URL="postgres://postgres:password@localhost:5432/postgres" \
41
52
  KEY_VAULTS_SECRET="use-for-build"
42
53
 
43
54
  # Sentry
44
- ENV NEXT_PUBLIC_SENTRY_DSN="" \
55
+ ENV NEXT_PUBLIC_SENTRY_DSN="${NEXT_PUBLIC_SENTRY_DSN}" \
45
56
  SENTRY_ORG="" \
46
57
  SENTRY_PROJECT=""
47
58
 
48
59
  # Posthog
49
- ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="" \
50
- NEXT_PUBLIC_POSTHOG_HOST="" \
51
- NEXT_PUBLIC_POSTHOG_KEY=""
60
+ ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="${NEXT_PUBLIC_ANALYTICS_POSTHOG}" \
61
+ NEXT_PUBLIC_POSTHOG_HOST="${NEXT_PUBLIC_POSTHOG_HOST}" \
62
+ NEXT_PUBLIC_POSTHOG_KEY="${NEXT_PUBLIC_POSTHOG_KEY}"
52
63
 
53
64
  # Umami
54
- ENV NEXT_PUBLIC_ANALYTICS_UMAMI="" \
55
- NEXT_PUBLIC_UMAMI_SCRIPT_URL="" \
56
- NEXT_PUBLIC_UMAMI_WEBSITE_ID=""
65
+ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
66
+ NEXT_PUBLIC_UMAMI_SCRIPT_URL="${NEXT_PUBLIC_UMAMI_SCRIPT_URL}" \
67
+ NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
57
68
 
58
69
  # Node
59
70
  ENV NODE_OPTIONS="--max-old-space-size=8192"
@@ -21,3 +21,74 @@ LobeChat provides some additional configuration options when deployed, which can
21
21
  <Cards href={'environment-variables/s3'} title={'S3 Storage Service'} />
22
22
  <Cards href={'environment-variables/analytics'} title={'Data Analytics'} />
23
23
  </Cards>
24
+
25
+ ## Building a Custom Image with Overridden NEXT_PUBLIC Variables
26
+
27
+ If you need to override NEXT_PUBLIC environment variables, you can build a custom Docker image using GitHub Actions
28
+ without forking the entire LobeChat repository. Here's a guide on how to do this:
29
+
30
+ 1. Create a new GitHub repository for your custom build.
31
+
32
+ 2. In your new repository, create a `.github/workflows` directory.
33
+
34
+ 3. Inside the `.github/workflows` directory, create a file named `build-custom-lobe.yml`:
35
+ ```yaml
36
+ name: Build Custom Image
37
+
38
+ on:
39
+ workflow_dispatch: # Manual trigger
40
+
41
+ env:
42
+ REGISTRY: ghcr.io
43
+ IMAGE_NAME: ${{ github.repository_owner }}/lobe-chat-database # Name of your image
44
+
45
+ jobs:
46
+ build-and-push:
47
+ runs-on: ubuntu-latest
48
+ permissions:
49
+ contents: read
50
+ packages: write
51
+
52
+ steps:
53
+ - name: Checkout repository
54
+ uses: actions/checkout@v3
55
+ with:
56
+ repository: lobehub/lobe-chat
57
+
58
+ - name: Log in to the Container registry
59
+ uses: docker/login-action@v2
60
+ with:
61
+ registry: ${{ env.REGISTRY }}
62
+ username: ${{ github.actor }}
63
+ password: ${{ secrets.GITHUB_TOKEN }}
64
+
65
+ - name: Extract metadata (tags, labels) for Docker
66
+ id: meta
67
+ uses: docker/metadata-action@v4
68
+ with:
69
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
70
+
71
+ - name: Build and push Docker image
72
+ uses: docker/build-push-action@v4
73
+ with:
74
+ context: .
75
+ file: Dockerfile.database # Change dockerfile if needed
76
+ push: true
77
+ tags: ${{ steps.meta.outputs.tags }}
78
+ labels: ${{ steps.meta.outputs.labels }}
79
+ # List all variables you need to overwrite
80
+ build-args: |
81
+ NEXT_PUBLIC_BASE_PATH=${{ secrets.NEXT_PUBLIC_BASE_PATH }}
82
+ NEXT_PUBLIC_SERVICE_MODE=${{ secrets.NEXT_PUBLIC_SERVICE_MODE }}
83
+ ```
84
+
85
+ 4. In your GitHub Repository settings > Secrets and variables > Actions > Repository secrets,
86
+ add any NEXT_PUBLIC variables you want to override
87
+
88
+ 5. Set "Read and write" permissions for workflows in Repository settings > Actions > General > Workflow permissions.
89
+
90
+ 6. To build your custom image, go to the "Actions" tab in your GitHub repository and manually trigger the
91
+ "Build Custom LobeChat Image" workflow.
92
+
93
+ This approach allows you to create a custom build with your desired NEXT_PUBLIC variables without maintaining
94
+ a full fork of the LobeChat repository. You can trigger a new build whenever you need to update your custom image.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.21.15",
3
+ "version": "1.21.16",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",