This is an automated email from the ASF dual-hosted git repository.

zuston pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/uniffle.git


The following commit(s) were added to refs/heads/master by this push:
     new aa85e3f5f improvement(docker): Add dashboard to docker (#2463)
aa85e3f5f is described below

commit aa85e3f5f33c27a0a45dba99c9443124bb09fb08
Author: Andras Salamon <andras.sala...@melda.info>
AuthorDate: Sun Apr 27 08:00:11 2025 +0200

    improvement(docker): Add dashboard to docker (#2463)
    
    ### What changes were proposed in this pull request?
    
    Adding dashboard to the docker images.
    
    ### Why are the changes needed?
    
    There are no dashboard in the docker images.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Tested the docker manually.
---
 .github/workflows/docker.yml     |  2 +-
 deploy/docker/build.sh           |  4 ++++
 deploy/docker/docker-compose.yml | 12 ++++++++++++
 deploy/docker/uniffle/Dockerfile |  1 +
 deploy/docker/uniffle/start.sh   |  7 +++++++
 5 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index ee7a66560..b622cb1cc 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -59,7 +59,7 @@ jobs:
 
         # check all rss containers are up
         healthy="$(docker container ls | grep rss-server-example | grep 
"(healthy)" | wc -l)"
-        if [ "$healthy" == "6" ]
+        if [ "$healthy" == "7" ]
         then
           echo "All RSS containers up"
         else
diff --git a/deploy/docker/build.sh b/deploy/docker/build.sh
index c11e88355..466cd6547 100755
--- a/deploy/docker/build.sh
+++ b/deploy/docker/build.sh
@@ -37,6 +37,10 @@ sed -i -e "s/rss.server.buffer.capacity 
.*/rss.server.buffer.capacity 200mb/" "$
 sed -i -e "s/rss.server.read.buffer.capacity 
.*/rss.server.read.buffer.capacity 100mb/" "$EXAMPLE_DIR/uniffle/server.conf"
 sed -i -e "s/rss.server.disk.capacity .*/rss.server.disk.capacity 100m/" 
"$EXAMPLE_DIR/uniffle/server.conf"
 
+# patch conf/dashboard.conf
+cp "$RSS_DIR/conf/dashboard.conf" "$EXAMPLE_DIR/uniffle/"
+sed -i -e "s%coordinator.web.address .*%coordinator.web.address 
http://rss-coordinator-1:19998,http://rss-coordinator-2:19998%"; 
"$EXAMPLE_DIR/uniffle/dashboard.conf"
+
 # build RSS example docker image
 docker build -t rss-server-example "$EXAMPLE_DIR/uniffle"
 
diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml
index 0d412bedc..cff692533 100644
--- a/deploy/docker/docker-compose.yml
+++ b/deploy/docker/docker-compose.yml
@@ -19,6 +19,18 @@ version: "3"
 name: rss
 
 services:
+  dashboard:
+    image: rss-server-example:latest
+    deploy:
+      mode: replicated
+      replicas: 1
+    environment:
+      SERVICE_NAME: dashboard
+      RPC_PORT: 19997
+      XMX_SIZE: 1g
+    ports:
+      - "19997:19997"
+
   coordinator:
     image: rss-server-example:latest
     deploy:
diff --git a/deploy/docker/uniffle/Dockerfile b/deploy/docker/uniffle/Dockerfile
index 9beb8a3f0..34ae459a6 100644
--- a/deploy/docker/uniffle/Dockerfile
+++ b/deploy/docker/uniffle/Dockerfile
@@ -19,5 +19,6 @@ FROM rss-server:head
 
 COPY start.sh /data/rssadmin/rss/bin
 COPY server.conf /data/rssadmin/rss/conf
+COPY dashboard.conf /data/rssadmin/rss/conf
 
 HEALTHCHECK --interval=3s --timeout=3s --start-period=60s CMD lsof 
-i:"${RPC_PORT}" -sTCP:LISTEN
diff --git a/deploy/docker/uniffle/start.sh b/deploy/docker/uniffle/start.sh
index 030a5633c..13a3a5768 100644
--- a/deploy/docker/uniffle/start.sh
+++ b/deploy/docker/uniffle/start.sh
@@ -24,6 +24,8 @@ coordinator_conf=$basedir'/conf/coordinator.conf'
 echo "coordinator_conf: $coordinator_conf"
 server_conf=$basedir'/conf/server.conf'
 echo "server_conf: $server_conf"
+dashboard_conf=$basedir'/conf/dashboard.conf'
+echo "dashboard_conf: $dashboard_conf"
 
 if [ "$SERVICE_NAME" == "coordinator" ];then
     start_script=${basedir}'/bin/start-coordinator.sh'
@@ -35,6 +37,11 @@ if [ "$SERVICE_NAME" == "server" ];then
     log_file=$basedir'/logs/shuffle_server.log'
 fi
 
+if [ "$SERVICE_NAME" == "dashboard" ];then
+    start_script=${basedir}'/bin/start-dashboard.sh'
+    log_file=$basedir'/logs/dashboard.log'
+fi
+
 touch "${log_file}"
 ${start_script} | grep -v "class path is"
 echo

Reply via email to