mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-17 09:47:12 +08:00
feat: update lobe-chat-data 1.120.7
This commit is contained in:
41
apps/lobe-chat-data/1.120.7/.env
Normal file
41
apps/lobe-chat-data/1.120.7/.env
Normal file
@@ -0,0 +1,41 @@
|
||||
# Proxy,如果你需要的话(比如你使用 GitHub 作为鉴权服务提供商)
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
|
||||
# 其他环境变量,视需求而定,可以参照客户端版本的环境变量配置,注意不要有 ACCESS_CODE
|
||||
# OPENAI_API_KEY=sk-xxxx
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
|
||||
|
||||
# ===================
|
||||
# ===== 预设配置 =====
|
||||
# ===================
|
||||
# 如没有特殊需要不用更改
|
||||
LOBE_PORT=3210
|
||||
CASDOOR_PORT=8000
|
||||
MINIO_PORT=9000
|
||||
APP_URL=http://192.168.123.105:3210
|
||||
AUTH_URL=http://192.168.123.105:3210/api/auth
|
||||
|
||||
# Postgres 相关,也即 DB 必须的环境变量
|
||||
LOBE_DB_NAME=lobechat
|
||||
POSTGRES_PASSWORD=uWNZugjBqixf8dxC
|
||||
|
||||
AUTH_CASDOOR_ISSUER=http://192.168.123.105:8000
|
||||
# Casdoor secret
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
|
||||
# MinIO S3 配置
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=YOUR_MINIO_PASSWORD
|
||||
|
||||
# 在下方配置 minio 中添加的桶
|
||||
S3_PUBLIC_DOMAIN=http://192.168.123.105:9000
|
||||
S3_ENDPOINT=http://192.168.123.105:9000
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
# 为 casdoor 配置
|
||||
origin=http://192.168.123.105:8000
|
||||
137
apps/lobe-chat-data/1.120.7/data.yml
Normal file
137
apps/lobe-chat-data/1.120.7/data.yml
Normal file
@@ -0,0 +1,137 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
# Default config
|
||||
- default: 3210
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Application Port
|
||||
labelZh: 应用端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 8000
|
||||
edit: true
|
||||
envKey: CASDOOR_PORT
|
||||
labelEn: CASDOOR Port
|
||||
labelZh: CASDOOR 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 9000
|
||||
edit: true
|
||||
envKey: MINIO_PORT
|
||||
labelEn: MinIO Port
|
||||
labelZh: MinIO端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: http://Your-IP:3210
|
||||
edit: true
|
||||
envKey: APP_URL
|
||||
labelEn: Application URL
|
||||
labelZh: 应用地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: http://Your-IP:3210/api/auth
|
||||
edit: true
|
||||
envKey: AUTH_URL
|
||||
labelEn: Auth Service URL
|
||||
labelZh: 认证服务地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
# Postgres related
|
||||
- default: lobechat
|
||||
edit: true
|
||||
envKey: LOBE_DB_NAME
|
||||
labelEn: Database Name
|
||||
labelZh: 数据库名称
|
||||
random: true
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: uWNZugjBqixf8dxC
|
||||
edit: true
|
||||
envKey: POSTGRES_PASSWORD
|
||||
labelEn: Database Password
|
||||
labelZh: 数据库密码
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: password
|
||||
- default: http://Your-IP:8000
|
||||
edit: true
|
||||
envKey: AUTH_CASDOOR_ISSUER
|
||||
labelEn: AUTH CASDOOR ISSUER
|
||||
labelZh: AUTH CASDOOR ISSUER
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
# Casdoor secret
|
||||
- default: a387a4892ee19b1a2249
|
||||
edit: true
|
||||
envKey: AUTH_CASDOOR_ID
|
||||
labelEn: AUTH CASDOOR ID
|
||||
labelZh: AUTH CASDOOR ID
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
edit: true
|
||||
envKey: AUTH_CASDOOR_SECRET
|
||||
labelEn: AUTH CASDOOR SECRET
|
||||
labelZh: AUTH CASDOOR SECRET
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: password
|
||||
# MinIO S3 configuration
|
||||
- default: admin
|
||||
edit: true
|
||||
envKey: MINIO_ROOT_USER
|
||||
labelEn: MinIO ROOT User
|
||||
labelZh: MinIO ROOT User
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: e07a87a0
|
||||
edit: true
|
||||
envKey: MINIO_ROOT_PASSWORD
|
||||
labelEn: MinIO ROOT Password
|
||||
labelZh: MinIO ROOT Password
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: password
|
||||
# Configure the bucket information of MinIO
|
||||
- default: http://Your-IP:9000
|
||||
edit: true
|
||||
envKey: S3_ENDPOINT
|
||||
labelEn: S3 Endpoint
|
||||
labelZh: S3 Endpoint
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: http://Your-IP:9000
|
||||
edit: true
|
||||
envKey: S3_PUBLIC_DOMAIN
|
||||
labelEn: S3 PUBLIC DOMAIN
|
||||
labelZh: S3 PUBLIC DOMAIN
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: lobe
|
||||
edit: true
|
||||
envKey: MINIO_LOBE_BUCKET
|
||||
labelEn: MINIO LOBE BUCKET
|
||||
labelZh: MINIO LOBE BUCKET
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
# Configure for casdoor
|
||||
- default: http://Your-IP:8000
|
||||
edit: true
|
||||
envKey: origin
|
||||
labelEn: origin
|
||||
labelZh: origin
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
145
apps/lobe-chat-data/1.120.7/docker-compose.yml
Normal file
145
apps/lobe-chat-data/1.120.7/docker-compose.yml
Normal file
@@ -0,0 +1,145 @@
|
||||
services:
|
||||
network-service:
|
||||
image: alpine
|
||||
container_name: lobe-network
|
||||
restart: always
|
||||
ports:
|
||||
- ${MINIO_PORT}:${MINIO_PORT}
|
||||
- 9001:9001
|
||||
- ${CASDOOR_PORT}:${CASDOOR_PORT}
|
||||
- ${PANEL_APP_PORT_HTTP}:3210
|
||||
command: tail -f /dev/null
|
||||
networks:
|
||||
- lobe-network
|
||||
postgresql:
|
||||
image: pgvector/pgvector:pg17
|
||||
container_name: lobe-postgres
|
||||
ports:
|
||||
- 5432:5432
|
||||
volumes:
|
||||
- ./data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_DB=${LOBE_DB_NAME}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- pg_isready -U postgres
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
|
||||
container_name: lobe-minio
|
||||
network_mode: service:network-service
|
||||
volumes:
|
||||
- ./s3_data:/etc/minio/data
|
||||
environment:
|
||||
- MINIO_API_CORS_ALLOW_ORIGIN=*
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: "/bin/sh -c \"\n minio server /etc/minio/data --address ':${MINIO_PORT}'\
|
||||
\ --console-address ':9001' &\n MINIO_PID=\\$!\n while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live;\
|
||||
\ do\n echo 'Waiting for MinIO to start...'\n sleep 1\n done\n sleep\
|
||||
\ 5\n mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER}\
|
||||
\ ${MINIO_ROOT_PASSWORD}\n echo 'Creating bucket ${MINIO_LOBE_BUCKET}'\n mc\
|
||||
\ mb myminio/${MINIO_LOBE_BUCKET}\n wait \\$MINIO_PID\n\"\n"
|
||||
casdoor:
|
||||
image: casbin/casdoor:v2.13.0
|
||||
container_name: lobe-casdoor
|
||||
entrypoint: /bin/sh -c './server --createDatabase=true'
|
||||
network_mode: service:network-service
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
httpport: ${CASDOOR_PORT}
|
||||
RUNNING_IN_DOCKER: 'true'
|
||||
driverName: postgres
|
||||
dataSourceName: user=postgres password=${POSTGRES_PASSWORD} host=postgresql
|
||||
port=5432 sslmode=disable dbname=casdoor
|
||||
runmode: dev
|
||||
volumes:
|
||||
- ./init_data.json:/init_data.json
|
||||
env_file:
|
||||
- .env
|
||||
searxng:
|
||||
image: searxng/searxng
|
||||
container_name: lobe-searxng
|
||||
volumes:
|
||||
- ./searxng-settings.yml:/etc/searxng/settings.yml
|
||||
environment:
|
||||
- SEARXNG_SETTINGS_FILE=/etc/searxng/settings.yml
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
env_file:
|
||||
- .env
|
||||
lobe:
|
||||
image: lobehub/lobe-chat-database:1.120.7
|
||||
container_name: lobe-chat
|
||||
network_mode: service:network-service
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
network-service:
|
||||
condition: service_started
|
||||
minio:
|
||||
condition: service_started
|
||||
casdoor:
|
||||
condition: service_started
|
||||
environment:
|
||||
- NEXT_AUTH_SSO_PROVIDERS=casdoor
|
||||
- KEY_VAULTS_SECRET=Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=
|
||||
- NEXT_AUTH_SECRET=NX2kaPE923dt6BL2U8e9oSre5RfoT7hg
|
||||
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgresql:5432/${LOBE_DB_NAME}
|
||||
- S3_BUCKET=${MINIO_LOBE_BUCKET}
|
||||
- S3_ENABLE_PATH_STYLE=1
|
||||
- S3_ACCESS_KEY=${MINIO_ROOT_USER}
|
||||
- S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}
|
||||
- S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}
|
||||
- LLM_VISION_IMAGE_USE_BASE64=1
|
||||
- S3_SET_ACL=0
|
||||
- SEARXNG_URL=http://searxng:8080
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: "/bin/sh -c \"\n /bin/node /app/startServer.js &\n LOBE_PID=\\$!\n\
|
||||
\ sleep 3\n if [ $(wget --timeout=5 --spider --server-response ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration\
|
||||
\ 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then\n echo '⚠️Warning: Unable\
|
||||
\ to fetch OIDC configuration from Casdoor'\n echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'\n\
|
||||
\ echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n echo '⚠️注意:无法从 Casdoor 获取 OIDC 配置'\n echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'\n\
|
||||
\ echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n else\n if ! wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration\
|
||||
\ 2>&1 | grep 'issuer' | grep ${AUTH_CASDOOR_ISSUER}; then\n printf '❌Error:\
|
||||
\ The Auth issuer is conflict, Issuer in OIDC configuration is: %s' \\$(wget\
|
||||
\ -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1\
|
||||
\ | grep -E 'issuer.*' | awk -F '\\\"' '{print \\$4}')\n echo ' , but the\
|
||||
\ issuer in .env file is: ${AUTH_CASDOOR_ISSUER} '\n echo 'Request URL:\
|
||||
\ ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'\n echo 'Read\
|
||||
\ more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n printf '❌错误:Auth 的 issuer 冲突,OIDC 配置中的 issuer 是:%s' \\\
|
||||
$(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration\
|
||||
\ 2>&1 | grep -E 'issuer.*' | awk -F '\\\"' '{print \\$4}')\n echo ' ,\
|
||||
\ 但 .env 文件中的 issuer 是:${AUTH_CASDOOR_ISSUER} '\n echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'\n\
|
||||
\ echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n fi\n fi\n if [ $(wget --timeout=5 --spider --server-response\
|
||||
\ ${S3_ENDPOINT}/minio/health/live 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ];\
|
||||
\ then\n echo '⚠️Warning: Unable to fetch MinIO health status'\n echo\
|
||||
\ 'Request URL: ${S3_ENDPOINT}/minio/health/live'\n echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n echo '⚠️注意:无法获取 MinIO 健康状态'\n echo '请求 URL: ${S3_ENDPOINT}/minio/health/live'\n\
|
||||
\ echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'\n\
|
||||
\ echo ''\n fi\n wait \\$LOBE_PID\n\"\n"
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
s3_data:
|
||||
driver: local
|
||||
networks:
|
||||
lobe-network:
|
||||
driver: bridge
|
||||
1238
apps/lobe-chat-data/1.120.7/init_data.json
Normal file
1238
apps/lobe-chat-data/1.120.7/init_data.json
Normal file
File diff suppressed because it is too large
Load Diff
42
apps/lobe-chat-data/1.120.7/lobe-entrypoint.sh
Normal file
42
apps/lobe-chat-data/1.120.7/lobe-entrypoint.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
|
||||
/bin/node /app/startServer.js &
|
||||
LOBE_PID=$!
|
||||
sleep 3
|
||||
|
||||
if [ $(wget --timeout=5 --spider --server-response ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warining: Unable to fetch OIDC configuration from Casdoor'
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法从 Casdoor 获取 OIDC 配置'
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
else
|
||||
if ! wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep 'issuer' | grep ${AUTH_CASDOOR_ISSUER}; then
|
||||
printf '❌Error: The Auth issuer is conflict, Issuer in OIDC configuration is: %s' $(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '"' '{print $4}')
|
||||
echo ' , but the issuer in .env file is: ${AUTH_CASDOOR_ISSUER} '
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
printf '❌错误:Auth 的 issuer 冲突,OIDC 配置中的 issuer 是:%s' $(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '"' '{print $4}')
|
||||
echo ' , 但 .env 文件中的 issuer 是:${AUTH_CASDOOR_ISSUER} '
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $(wget --timeout=5 --spider --server-response ${S3_ENDPOINT}/minio/health/live 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warining: Unable to fetch MinIO health status'
|
||||
echo 'Request URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法获取 MinIO 健康状态'
|
||||
echo '请求 URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
|
||||
wait $LOBE_PID
|
||||
16
apps/lobe-chat-data/1.120.7/minio-entrypoint.sh
Normal file
16
apps/lobe-chat-data/1.120.7/minio-entrypoint.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
minio server /etc/minio/data --address ":${MINIO_PORT}" --console-address ":9001" &
|
||||
MINIO_PID=$!
|
||||
|
||||
while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live; do
|
||||
echo 'Waiting for MinIO to start...'
|
||||
sleep 1
|
||||
done
|
||||
|
||||
sleep 5
|
||||
mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
|
||||
echo "Creating bucket ${MINIO_LOBE_BUCKET}"
|
||||
mc mb myminio/${MINIO_LOBE_BUCKET}
|
||||
|
||||
wait $MINIO_PID
|
||||
2582
apps/lobe-chat-data/1.120.7/searxng-settings.yml
Normal file
2582
apps/lobe-chat-data/1.120.7/searxng-settings.yml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user