From ece5863ca90599e867e3ce4df9d85d8bfc2bfd18 Mon Sep 17 00:00:00 2001 From: xiaochou164 Date: Wed, 14 May 2025 22:13:46 +0800 Subject: [PATCH] add --- lobe-chat-allinone-env.env | 35 ++++++++++++++++ lobe-chat-allinone.yml | 85 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 lobe-chat-allinone-env.env create mode 100644 lobe-chat-allinone.yml diff --git a/lobe-chat-allinone-env.env b/lobe-chat-allinone-env.env new file mode 100644 index 0000000..736dc52 --- /dev/null +++ b/lobe-chat-allinone-env.env @@ -0,0 +1,35 @@ + +LOBE_PORT=3210 +APP_URL=http://chat.monday.ink +AUTH_URL=http://chat.monday.ink/api/auth +KEY_VAULTS_SECRET=Oi3ziEc2H4biudv07FTE7v65OvWJmyhH63X0kyidIJ4= + +# Postgres 相关,也即 DB 必须的环境变量 +LOBE_DB_NAME=lobechat +POSTGRES_PASSWORD=Zhupo222... + + +S3_ACCESS_KEY_ID=750e6d5b7c81dc447ddda8b139aef84d +S3_SECRET_ACCESS_KEY=d954399ab8f182d148dd1f8b3fef43b18a4b8af182af32ff7069fde51414e8d1 +S3_ENDPOINT=https://d260152220d88e97985c2dda78be404a.r2.cloudflarestorage.com +S3_BUCKET=lobechat +S3_PUBLIC_DOMAIN=https://r2.monday.ink + +#microsoft anth配置 +NEXT_PUBLIC_ENABLE_NEXT_AUTH=1 +NEXT_AUTH_SECRET=44A1F/6d8rTbgLOhmRcPlwmS/Kx84xqrS2FrUBQ+wiw= +NEXT_AUTH_SSO_PROVIDERS=microsoft-entra-id +AUTH_MICROSOFT_ENTRA_ID_ID=24d54af9-dc2f-4492-9147-1fa6270b215a +AUTH_MICROSOFT_ENTRA_ID_SECRET=ypk8Q~Qfe7INO7VC3HBbSoww8e5ybcFMpV2EabeJ +AUTH_MICROSOFT_ENTRA_ID_TENANT_ID=4ae266c0-46d4-493f-a89b-26521d602c75 +NEXTAUTH_URL=https://chat.monday.ink + + +#logto配置 +NEXT_PUBLIC_ENABLE_NEXT_AUTH=1 +NEXT_AUTH_SECRET=44A1F/6d8rTbgLOhmRcPlwmS/Kx84xqrS2FrUBQ+wiw= +NEXT_AUTH_SSO_PROVIDERS=logto +AUTH_LOGTO_ID=6izhlh4gvy7ckjdjzqwr1 +AUTH_LOGTO_SECRET=MIPvzz97ZRsb9sQMFGAjomxqzr6Poczd +AUTH_LOGTO_ISSUER=https://bqr6yp.logto.app/oidc/.well-known/openid-configuration +NEXTAUTH_URL=https://chat.monday.ink/api/auth diff --git a/lobe-chat-allinone.yml b/lobe-chat-allinone.yml new file mode 100644 index 0000000..6e5ef8a --- /dev/null +++ b/lobe-chat-allinone.yml @@ -0,0 +1,85 @@ +name: lobe-chat-database +services: + network-service: + image: alpine + container_name: lobe-network + restart: always + ports: + - 3210 # LobeChat + command: tail -f /dev/null + networks: + - lobe-network + + postgresql: + image: pgvector/pgvector:pg17 + container_name: lobe-postgres + ports: + - '5432:5432' + volumes: + - '/app/ai-chat/pqsql:/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 + + searxng: + image: searxng/searxng + container_name: lobe-searxng + volumes: + - '/app/ai-chat/searxng-settings.yml:/etc/searxng/settings.yml' + environment: + - 'SEARXNG_SETTINGS_FILE=/etc/searxng/settings.yml' + restart: always + networks: + - lobe-network + env_file: + - lobe-chat-allinone-env.env + + lobe: + image: lobehub/lobe-chat-database + container_name: lobe-chat + network_mode: 'service:network-service' + depends_on: + postgresql: + condition: service_healthy + network-service: + 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=${S3_BUCKET}' + - 'S3_ENDPOINT=${S3_ENDPOINT}' + - 'S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}' + - 'S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}' + - 'S3_PUBLIC_DOMAIN=${S3_PUBLIC_DOMAIN}' + - 'SEARXNG_URL=http://searxng:8080' + env_file: + - lobe-chat-allinone-env.env + restart: always + entrypoint: > + /bin/sh -c " + /bin/node /app/startServer.js & + LOBE_PID=\$! + sleep 3 + wait \$LOBE_PID + " + +volumes: + data: + driver: local + s3_data: + driver: local + +networks: + lobe-network: + driver: bridge \ No newline at end of file