使用Docker Compose部署LobeChat数据库版

kypwCk

基于官方配置,独立安装了数据库和鉴权服务提供商

docker-compose.yml:

services:
  lobe:
    image: lobehub/lobe-chat-database
    container_name: lobe-database
    ports:
      - '3210:3210'
    networks:
      - 1panel-network  # 使用已有的网络
    env_file:
      - .env
    restart: always

volumes:
  data:
    driver: local

networks:
  1panel-network:  # 引用已存在的网络
    external: true  # 标记为外部网络

.env:

# 必填,LobeChat 域名,用于 tRPC 调用
# 请保证此域名在你的 NextAuth 鉴权服务提供商、S3 服务商的 CORS 白名单中
APP_URL=https://chat.xxx.com/

# Postgres 相关,也即 DB 必需的环境变量
# 必填,用于加密敏感信息的密钥,可以使用 openssl rand -base64 32 生成
KEY_VAULTS_SECRET=Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=
# 必填,Postgres 数据库连接字符串,用于连接到数据库
# 格式:postgresql://username:password@host:port/dbname,如果你的 pg 实例为 Docker 容器且位于同一 docker-compose 文件中,亦可使用容器名作为 host
DATABASE_URL=postgresql://lobechat:123456@postgresql:5432/lobechat

# NEXT_AUTH 相关,也即鉴权服务必需的环境变量
# 可以使用 auth0、Azure AD、GitHub、Authentik、Zitadel、Logto 等,如有其他接入诉求欢迎提 PR
# 目前支持的鉴权服务提供商请参考:https://lobehub.com/zh/docs/self-hosting/advanced/auth#next-auth
# 如果你有 ACCESS_CODE,请务必清空,我们以 NEXT_AUTH 作为唯一鉴权来源
# 必填,用于 NextAuth 的密钥,可以使用 openssl rand -base64 32 生成
NEXT_AUTH_SECRET=NX2kaPE923dt6BL2U8e9oSre5RfoT7hg
# 必填,指定鉴权服务提供商,这里以 Logto 为例
NEXT_AUTH_SSO_PROVIDERS=logto
# 必填,NextAuth 的 URL,用于 NextAuth 的回调
NEXTAUTH_URL=https://chat.xxx.com/api/auth

# NextAuth 鉴权服务提供商部分,以 Logto 为例
# 其他鉴权服务提供商所需的环境变量,请参考:https://lobehub.com/zh/docs/self-hosting/environment-variables/auth
AUTH_LOGTO_ID=YOUR_LOGTO_CLIENT_ID
AUTH_LOGTO_SECRET=YOUR_LOGTO_CLIENT_SECRET
AUTH_LOGTO_ISSUER=https://auth.xxx.com/oidc

# 代理相关,如果你需要的话(比如你使用 GitHub 作为鉴权服务提供商)
# HTTP_PROXY=http://localhost:7890
# HTTPS_PROXY=http://localhost:7890

# S3 相关,也即非结构化数据(文件、图片等)存储必需的环境变量
# 必填,S3 的 Access Key ID
S3_ACCESS_KEY_ID=YOUR_S3_ACCESS_KEY_ID
# 必填,S3 的 Secret Access Key
S3_SECRET_ACCESS_KEY=YOUR_S3_SECRET_ACCESS_KEY
# 必填,S3 的 Endpoint,用于服务端/客户端连接到 S3 API
S3_ENDPOINT=https://<cloudflare账户ID>.r2.cloudflarestorage.com
# 必填,S3 的 Bucket
S3_BUCKET=lobe-chat
# 必填,S3 的 Public Domain,用于客户端通过公开连接访问非结构化数据
S3_PUBLIC_DOMAIN=https://s3-for-chat.xxx.com
# 选填,S3 的 Enable Path Style
# 对于主流 S3 Cloud 服务商,一般填 0 即可;对于自部署的 MinIO,请填 1
# 请参考:https://lobehub.com/zh/docs/self-hosting/advanced/s3#s-3-enable-path-style
S3_ENABLE_PATH_STYLE=0

# 其他基础环境变量,视需求而定。注意不要有 ACCESS_CODE
# 请参考:https://lobehub.com/zh/docs/self-hosting/environment-variables/basic
# 请注意,对于服务端版本,其 API 必须支持嵌入(OpenAI text-embedding-3-small)模型,否则无法对上传文件进行处理,但你无需在 OPENAI_MODEL_LIST 中指定此模型
ENABLED_OPENAI=1
OPENAI_API_KEY=sk-xxxx
OPENAI_PROXY_URL=https://one.xxx.com/v1
OPENAI_MODEL_LIST=-all,+gemini-1.5-flash=Gemini 1.5 Flash<16000:vision:fc:file>,+gemini-1.5-pro=Gemini 1.5 Pro<16000:vision:fc:file>,+deepseek-chat=DeepSeek V2.5<128000:fc>
DEFAULT_AGENT_CONFIG=model=deepseek-chat;plugins=search-engine,lobe-image-designer;params.max_tokens=300;chatConfig.historyCount=5

南风大叔
这个人很懒,什么都没有留下~

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

PostgreSQL、MySQL、Redis数据库管理脚本
PostgreSQL、MySQL、Redis数据库管理脚本
使用Docker Compose部署PostgreSQL
使用Docker Compose部署PostgreSQL
使用Docker Compose部署Zitadel
使用Docker Compose部署Zitadel
阿里云安装Docker和Tailscale及遇到的问题
阿里云安装Docker和Tailscale及遇到的问题
Grafana & Prometheus
Grafana & Prometheus
Prometheus: mysqld_exporter
Prometheus: mysqld_exporter
© 2025 南风大叔