|
@@ -125,10 +125,11 @@ x-shared-env: &shared-api-worker-env
|
|
|
CHROMA_DATABASE: ${CHROMA_DATABASE:-default_database}
|
|
|
CHROMA_AUTH_PROVIDER: ${CHROMA_AUTH_PROVIDER:-chromadb.auth.token_authn.TokenAuthClientProvider}
|
|
|
CHROMA_AUTH_CREDENTIALS: ${CHROMA_AUTH_CREDENTIALS:-}
|
|
|
- ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-127.0.0.1}
|
|
|
+ ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-0.0.0.0}
|
|
|
ELASTICSEARCH_PORT: ${ELASTICSEARCH_PORT:-9200}
|
|
|
ELASTICSEARCH_USERNAME: ${ELASTICSEARCH_USERNAME:-elastic}
|
|
|
ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASSWORD:-elastic}
|
|
|
+ KIBANA_PORT: ${KIBANA_PORT:-5601}
|
|
|
# AnalyticDB configuration
|
|
|
ANALYTICDB_KEY_ID: ${ANALYTICDB_KEY_ID:-}
|
|
|
ANALYTICDB_KEY_SECRET: ${ANALYTICDB_KEY_SECRET:-}
|
|
@@ -599,27 +600,61 @@ services:
|
|
|
ports:
|
|
|
- "${MYSCALE_PORT:-8123}:${MYSCALE_PORT:-8123}"
|
|
|
|
|
|
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
|
|
|
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-prod-prerequisites
|
|
|
elasticsearch:
|
|
|
image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3
|
|
|
container_name: elasticsearch
|
|
|
profiles:
|
|
|
- elasticsearch
|
|
|
restart: always
|
|
|
+ volumes:
|
|
|
+ - dify_es01_data:/usr/share/elasticsearch/data
|
|
|
environment:
|
|
|
- - "ELASTIC_PASSWORD=${ELASTICSEARCH_USERNAME:-elastic}"
|
|
|
- - "cluster.name=dify-es-cluster"
|
|
|
- - "node.name=dify-es0"
|
|
|
- - "discovery.type=single-node"
|
|
|
- - "xpack.security.http.ssl.enabled=false"
|
|
|
- - "xpack.license.self_generated.type=trial"
|
|
|
+ - ELASTIC_PASSWORD=${ELASTICSEARCH_PASSWORD:-elastic}
|
|
|
+ - cluster.name=dify-es-cluster
|
|
|
+ - node.name=dify-es0
|
|
|
+ - discovery.type=single-node
|
|
|
+ - xpack.license.self_generated.type=trial
|
|
|
+ - xpack.security.enabled=true
|
|
|
+ - xpack.security.enrollment.enabled=false
|
|
|
+ - xpack.security.http.ssl.enabled=false
|
|
|
ports:
|
|
|
- - "${ELASTICSEARCH_PORT:-9200}:${ELASTICSEARCH_PORT:-9200}"
|
|
|
+ - ${ELASTICSEARCH_PORT:-9200}:9200
|
|
|
healthcheck:
|
|
|
test: ["CMD", "curl", "-s", "http://localhost:9200/_cluster/health?pretty"]
|
|
|
interval: 30s
|
|
|
timeout: 10s
|
|
|
retries: 50
|
|
|
|
|
|
+ # https://www.elastic.co/guide/en/kibana/current/docker.html
|
|
|
+ # https://www.elastic.co/guide/en/kibana/current/settings.html
|
|
|
+ kibana:
|
|
|
+ image: docker.elastic.co/kibana/kibana:8.14.3
|
|
|
+ container_name: kibana
|
|
|
+ profiles:
|
|
|
+ - elasticsearch
|
|
|
+ depends_on:
|
|
|
+ - elasticsearch
|
|
|
+ restart: always
|
|
|
+ environment:
|
|
|
+ - XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=d1a66dfd-c4d3-4a0a-8290-2abcb83ab3aa
|
|
|
+ - NO_PROXY=localhost,127.0.0.1,elasticsearch,kibana
|
|
|
+ - XPACK_SECURITY_ENABLED=true
|
|
|
+ - XPACK_SECURITY_ENROLLMENT_ENABLED=false
|
|
|
+ - XPACK_SECURITY_HTTP_SSL_ENABLED=false
|
|
|
+ - XPACK_FLEET_ISAIRGAPPED=true
|
|
|
+ - I18N_LOCALE=zh-CN
|
|
|
+ - SERVER_PORT=5601
|
|
|
+ - ELASTICSEARCH_HOSTS="http://elasticsearch:9200"
|
|
|
+ ports:
|
|
|
+ - ${KIBANA_PORT:-5601}:5601
|
|
|
+ healthcheck:
|
|
|
+ test: [ "CMD-SHELL", "curl -s http://localhost:5601 >/dev/null || exit 1" ]
|
|
|
+ interval: 30s
|
|
|
+ timeout: 10s
|
|
|
+ retries: 3
|
|
|
+
|
|
|
# unstructured .
|
|
|
# (if used, you need to set ETL_TYPE to Unstructured in the api & worker service.)
|
|
|
unstructured:
|
|
@@ -643,3 +678,4 @@ networks:
|
|
|
|
|
|
volumes:
|
|
|
oradata:
|
|
|
+ dify_es01_data:
|