Files
cjyyzx/docs/self-hosting/environment-variables.mdx
T
xiaohei 428644e286
Revalidate Docs / Revalidate Docs (push) Failing after 2s
E2E CI / Check Duplicate Run (push) Failing after 5s
Test CI / Check Duplicate Run (push) Failing after 6s
E2E CI / Test Web App (push) Has been skipped
Test CI / Test Packages (push) Has been skipped
Test CI / Test App (shard 1/3) (push) Has been skipped
Test CI / Test App (shard 2/3) (push) Has been skipped
Test CI / Test App (shard 3/3) (push) Has been skipped
Test CI / Test Desktop App (push) Has been skipped
🔄 Branch Synchronization / sync-branches (push) Failing after 11s
Test CI / Test Database (push) Has been skipped
Test CI / Merge and Upload App Coverage (push) Has been skipped
Database Schema Visualization CI / build (push) Failing after 4m14s
Enterprise AI Workspace prototype: LobeChat (de-branded) + Enterprise Gateway + Postgres/Redis stack
2026-04-21 12:58:00 +08:00

95 lines
3.2 KiB
Plaintext

---
title: LobeHub Environment Variables - Customizing Guide
description: >-
Learn how to customize LobeHub configuration using environment variables for
additional features and options.
tags:
- LobeHub
- Environment Variables
- Configuration
- Customization
---
# Environment Variables
LobeHub provides some additional configuration options when deployed, which can be customized using environment variables.
<Cards>
<Card href={'environment-variables/basic'} title={'Basic Environment Variables'} />
<Card href={'environment-variables/model-provider'} title={'Model Service Providers'} />
<Cards href={'environment-variables/auth'} title={'Authentication'} />
<Cards href={'environment-variables/s3'} title={'S3 Storage Service'} />
<Cards href={'environment-variables/analytics'} title={'Data Analytics'} />
</Cards>
## Building a Custom Image with Overridden `NEXT_PUBLIC` Variables
If you need to override `NEXT_PUBLIC` environment variables, you can build a custom Docker image using GitHub Actions without forking the entire LobeHub repository. Here's a guide on how to do this:
1. Create a new GitHub repository for your custom build.
2. In your new repository, create a `.github/workflows` directory.
3. Inside the `.github/workflows` directory, create a file named `build-custom-lobe.yml`:
```yaml
name: Build Custom Image
on:
workflow_dispatch: # Manual trigger
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/lobehub # Name of your image
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: lobehub/lobehub
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
file: Dockerfile.database # Change dockerfile if needed
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# List all variables you need to overwrite
build-args: |
NEXT_PUBLIC_BASE_PATH=${{ secrets.NEXT_PUBLIC_BASE_PATH }}
```
4. In your GitHub Repository settings > Secrets and variables > Actions > Repository secrets, add any `NEXT_PUBLIC` variables you want to override
5. Set "Read and write" permissions for workflows in Repository settings > Actions > General > Workflow permissions.
6. To build your custom image, go to the "Actions" tab in your GitHub repository and manually trigger the "Build Custom LobeHub Image" workflow.
This approach allows you to create a custom build with your desired `NEXT_PUBLIC` variables without maintaining a full fork of the LobeHub repository. You can trigger a new build whenever you need to update your custom image.