Files
Arch1Panel/apps/lobe-chat-data/1.99.6/docker-compose.yml
2025-07-17 10:13:33 +08:00

122 lines
3.1 KiB
YAML

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
container_name: lobe-minio
network_mode: service:network-service
volumes:
- ./s3_data:/etc/minio/data
- ./minio-entrypoint.sh:/entrypoint.sh
environment:
- MINIO_API_CORS_ALLOW_ORIGIN=*
env_file:
- .env
restart: always
entrypoint:
- sh
- /entrypoint.sh
casdoor:
image: casbin/casdoor:v1.970.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.99.6
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
volumes:
- ./lobe-entrypoint.sh:/entrypoint.sh
entrypoint:
- sh
- /entrypoint.sh
volumes:
data:
driver: local
s3_data:
driver: local
networks:
lobe-network:
driver: bridge