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

maximebeauchemin pushed a commit to branch docker-up
in repository https://gitbox.apache.org/repos/asf/superset.git

commit bc76ab4eec45135f40d39f5ea99a8c1ddf026396
Author: Maxime Beauchemin <[email protected]>
AuthorDate: Mon Jan 19 14:18:19 2026 +0000

    fix(docker): set FLASK_RUN_HOST for docker-compose-light networking
    
    Fixes Flask backend connectivity in docker-compose-light setup by
    setting FLASK_RUN_HOST=0.0.0.0 environment variable.
    
    Without this variable, Flask's development server only binds to
    127.0.0.1 (localhost), preventing the webpack dev server container
    from proxying requests to the backend API. This caused health check
    timeouts and made the application inaccessible.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
---
 Dockerfile                        |  3 +++
 docker-compose-light.yml          | 17 ++++++++++++++++-
 docker/docker-healthcheck-node.sh | 20 ++++++++++++++++++++
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index e989ecba37..fb9f479f8c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -81,6 +81,9 @@ COPY superset-frontend /app/superset-frontend
 ######################################################################
 FROM superset-node-ci AS superset-node
 
+# Install curl for healthcheck
+RUN apt-get update && apt-get install -y --no-install-recommends curl && rm 
-rf /var/lib/apt/lists/*
+
 # Build the frontend if not in dev mode
 RUN --mount=type=cache,target=/root/.npm \
     if [ "${DEV_MODE}" = "false" ]; then \
diff --git a/docker-compose-light.yml b/docker-compose-light.yml
index b06be681af..272a6a2f14 100644
--- a/docker-compose-light.yml
+++ b/docker-compose-light.yml
@@ -111,13 +111,22 @@ services:
     depends_on:
       superset-init-light:
         condition: service_completed_successfully
+      superset-node-light:
+        condition: service_healthy
     volumes: *superset-volumes
+    healthcheck:
+      test: ["CMD-SHELL", "/app/docker/docker-healthcheck.sh"]
+      interval: 30s
+      timeout: 30s
+      retries: 3
+      start_period: 60s
     environment:
       DATABASE_HOST: db-light
       DATABASE_DB: superset_light
       POSTGRES_DB: superset_light
       SUPERSET__SQLALCHEMY_EXAMPLES_URI: "duckdb:////app/data/examples.duckdb"
       SUPERSET_CONFIG_PATH: 
/app/docker/pythonpath_dev/superset_config_docker_light.py
+      FLASK_RUN_HOST: 0.0.0.0
       GITHUB_HEAD_REF: ${GITHUB_HEAD_REF:-}
       GITHUB_SHA: ${GITHUB_SHA:-}
 
@@ -154,6 +163,12 @@ services:
         # it'll mount and watch local files and rebuild as you update them
         DEV_MODE: "true"
         BUILD_TRANSLATIONS: ${BUILD_TRANSLATIONS:-false}
+    healthcheck:
+      test: ["CMD-SHELL", "/app/docker/docker-healthcheck-node.sh"]
+      interval: 10s
+      timeout: 5s
+      retries: 3
+      start_period: 90s
     environment:
       # set this to false if you have perf issues running the npm i; npm run 
dev in-docker
       # if you do so, you have to run this manually on the host, which should 
perform better!
@@ -163,7 +178,7 @@ services:
       # configuring the dev-server to use the host.docker.internal to connect 
to the backend
       superset: "http://superset-light:8088";
       # Webpack dev server configuration
-      WEBPACK_DEVSERVER_HOST: "${WEBPACK_DEVSERVER_HOST:-127.0.0.1}"
+      WEBPACK_DEVSERVER_HOST: "${WEBPACK_DEVSERVER_HOST:-0.0.0.0}"
       WEBPACK_DEVSERVER_PORT: "${WEBPACK_DEVSERVER_PORT:-9000}"
     ports:
       - "${NODE_PORT:-9001}:9000"  # Parameterized port, accessible on all 
interfaces
diff --git a/docker/docker-healthcheck-node.sh 
b/docker/docker-healthcheck-node.sh
new file mode 100755
index 0000000000..d8f42b40f2
--- /dev/null
+++ b/docker/docker-healthcheck-node.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Health check for webpack dev server
+curl -f "http://localhost:${WEBPACK_DEVSERVER_PORT:-9000}/"; || exit 1

Reply via email to