langgenius / dify

Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
https://dify.ai
Other
51.81k stars 7.51k forks source link

docker compose up -d does not start weaviate #8760

Closed ronnybox2000 closed 1 month ago

ronnybox2000 commented 1 month ago

Self Checks

Dify version

0.8.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

docker-compose up -d cannot start weaviate. need to start docker-compose up -d weaviate manually. There is no problem clone a new project from github.

✔️ Expected Behavior

No response

❌ Actual Behavior

No response

dosubot[bot] commented 1 month ago

Hello @ronnybox2000! I'm here to help you with any bugs, questions, or contributions you have. Let's work together to solve this issue!

I found a similar issue where the Weaviate container does not start by default. The solution involves ensuring that the Weaviate service is correctly defined in your docker-compose.middleware.yaml file and using the --profile weaviate flag when running the docker compose command.

Here is the corrected section for the Weaviate service:

services:
  # The Weaviate vector store.
  weaviate:
    image: semitechnologies/weaviate:1.19.0
    restart: always
    volumes:
      - ./volumes/weaviate:/var/lib/weaviate
    environment:
      PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate}
      QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25}
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-false}
      DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none}
      CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1}
      AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true}
      AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
      AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
      AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true}
      AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
    ports:
      - "${EXPOSE_WEAVIATE_PORT:-8080}:8080"

Ensure the following:

  1. The weaviate service is correctly defined in your docker-compose.middleware.yaml.
  2. The necessary environment variables are set either in the middleware.env file or directly in the docker-compose.middleware.yaml.
  3. The volumes directory exists and has the correct permissions.

Additionally, include the --profile weaviate flag when running the docker compose command:

docker compose -f docker-compose.middleware.yaml --profile weaviate up -d

For more details, you can refer to the related issue and its solution here [1].

To continue talking to Dosu, mention @dosu.

crazywoola commented 1 month ago

Duplicated