From 20aa0bc0a93f70b48d6484fa04454846561d221f Mon Sep 17 00:00:00 2001 From: lexluo09 <39718951+lexluo09@users.noreply.github.com> Date: Tue, 2 Jul 2024 21:15:41 +0800 Subject: [PATCH] (fix)(build) Add sequential execution to Docker Compose and modify active to prd (#1332) --- README.md | 2 +- docker/Dockerfile | 2 +- docker/docker-compose.yml | 56 ++++++++++++------- .../src/main/resources/langchain4j-prd.yaml | 2 +- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 27cf84e5c..ef1a238d5 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Visit http://117.72.46.148:9080 to register and experience as a new user. Please ### Docker Deployment - Install Docker and docker-compose. -- Download the docker-compose.yml file; Execute https://raw.githubusercontent.com/tencentmusic/supersonic/master/docker/docker-compose.yml. +- Download the docker-compose.yml file; Execute: wget https://raw.githubusercontent.com/tencentmusic/supersonic/master/docker/docker-compose.yml. - Execute "docker-compose up -d". - Open a browser and visit http://localhost:9080 to start exploring. diff --git a/docker/Dockerfile b/docker/Dockerfile index f25b88921..5de4e3184 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -26,4 +26,4 @@ WORKDIR /usr/src/app/supersonic-standalone-${SUPERSONIC_VERSION} EXPOSE 9080 # Command to run the supersonic daemon RUN chmod +x bin/supersonic-daemon.sh -CMD ["bash", "-c", "bin/supersonic-daemon.sh restart prd && tail -f /dev/null"] \ No newline at end of file +CMD ["bash", "-c", "bin/supersonic-daemon.sh restart standalone prd && tail -f /dev/null"] \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 3f970ba93..4d86e9c80 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,5 +1,24 @@ version: '3.8' services: + chroma: + image: chromadb/chroma:0.5.3 + container_name: supersonic_chroma + ports: + - "8000:8000" + volumes: + - chroma_data:/chroma + networks: + - supersonic_network + dns: + - 114.114.114.114 + - 8.8.8.8 + - 8.8.4.4 + healthcheck: + test: ["CMD", "curl", "http://0.0.0.0:8000"] + interval: 10s + timeout: 5s + retries: 10 + mysql: image: mysql:8.0 container_name: supersonic_mysql @@ -18,17 +37,26 @@ services: - 114.114.114.114 - 8.8.8.8 - 8.8.4.4 + depends_on: + chroma: + condition: service_healthy + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + interval: 10s + timeout: 5s + retries: 5 db_init: image: supersonicbi/supersonic:${SUPERSONIC_VERSION:-latest} container_name: supersonic_db_init depends_on: - - mysql + mysql: + condition: service_healthy networks: - supersonic_network command: > sh -c " - sleep 30 && + sleep 15 && if ! mysql -h supersonic_mysql -usupersonic_user -psupersonic_password -e 'use supersonic_db; show tables;' | grep -q 's2_database'; then mysql -h supersonic_mysql -usupersonic_user -psupersonic_password supersonic_db < /usr/src/app/supersonic-standalone-0.9.2-SNAPSHOT/conf/db/schema-mysql.sql && mysql -h supersonic_mysql -usupersonic_user -psupersonic_password supersonic_db < /usr/src/app/supersonic-standalone-0.9.2-SNAPSHOT/conf/db/data-mysql.sql @@ -41,20 +69,6 @@ services: - 8.8.8.8 - 8.8.4.4 - chroma: - image: chromadb/chroma:0.5.3 - container_name: supersonic_chroma - ports: - - "8000:8000" - volumes: - - chroma_data:/chroma - networks: - - supersonic_network - dns: - - 114.114.114.114 - - 8.8.8.8 - - 8.8.4.4 - supersonic_standalone: image: supersonicbi/supersonic:${SUPERSONIC_VERSION:-latest} container_name: supersonic_standalone @@ -63,12 +77,16 @@ services: DB_NAME: supersonic_db DB_USERNAME: supersonic_user DB_PASSWORD: supersonic_password + CHROMA_HOST: supersonic_chroma ports: - "9080:9080" depends_on: - - mysql - - db_init - - chroma + chroma: + condition: service_healthy + mysql: + condition: service_healthy + db_init: + condition: service_completed_successfully networks: - supersonic_network dns: diff --git a/launchers/standalone/src/main/resources/langchain4j-prd.yaml b/launchers/standalone/src/main/resources/langchain4j-prd.yaml index f04e5ac68..89f329e0f 100644 --- a/launchers/standalone/src/main/resources/langchain4j-prd.yaml +++ b/launchers/standalone/src/main/resources/langchain4j-prd.yaml @@ -29,7 +29,7 @@ langchain4j: chroma: embedding-store: - baseUrl: http://0.0.0.0:8000 + baseUrl: http://${CHROMA_HOST}:8000 timeout: 120s # milvus: