name: lobe-chat-database services: network-service: image: alpine container_name: lobe-network restart: always ports: - '3210: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 restart: always networks: - lobe-network 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' restart: always entrypoint: > /bin/sh -c " /bin/node /app/startServer.js sleep 3 " volumes: data: driver: local s3_data: driver: local networks: lobe-network: driver: bridge