You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by va...@apache.org on 2025/10/31 05:42:26 UTC

(superset) branch master updated: chore: Docs and config improvements for Docker setup (#35896)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0a95f74f11 chore: Docs and config improvements for Docker setup (#35896)
0a95f74f11 is described below

commit 0a95f74f119b3b4fad06b47c6d22caf0d204cd87
Author: Vitor Avila <96...@users.noreply.github.com>
AuthorDate: Fri Oct 31 02:42:19 2025 -0300

    chore: Docs and config improvements for Docker setup (#35896)
---
 .gitignore                                    |  2 ++
 Dockerfile                                    |  2 ++
 docker-compose.yml                            |  6 +++---
 docker/README.md                              | 18 +++++++++++++++++-
 docker/superset-websocket/config.example.json | 22 ++++++++++++++++++++++
 5 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index aa7cc93add..67693a7d26 100644
--- a/.gitignore
+++ b/.gitignore
@@ -121,6 +121,8 @@ docker/requirements-local.txt
 
 cache/
 docker/*local*
+docker/superset-websocket/config.json
+docker-compose.override.yml
 
 .temp_cache
 
diff --git a/Dockerfile b/Dockerfile
index 8a3598a283..c9eb171274 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -171,6 +171,8 @@ RUN mkdir -p \
     && touch superset/static/version_info.json
 
 # Install Playwright and optionally setup headless browsers
+ENV PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/playwright-browsers
+
 ARG INCLUDE_CHROMIUM="false"
 ARG INCLUDE_FIREFOX="false"
 RUN --mount=type=cache,target=${SUPERSET_HOME}/.cache/uv \
diff --git a/docker-compose.yml b/docker-compose.yml
index ff6fdfc216..050c6b22ef 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -137,9 +137,9 @@ services:
       - /home/superset-websocket/node_modules
       - /home/superset-websocket/dist
 
-      # Mounting a config file that contains a dummy secret required to boot up.
-      # do not use this docker compose in production
-      - ./docker/superset-websocket/config.json:/home/superset-websocket/config.json
+      # Mount config file. Create your own docker/superset-websocket/config.json
+      # for custom settings, then point to it here. Do not use this example in production.
+      - ./docker/superset-websocket/config.example.json:/home/superset-websocket/config.json:ro
     environment:
       - PORT=8080
       - REDIS_HOST=redis
diff --git a/docker/README.md b/docker/README.md
index a61e5b5bc9..eeb2a8f359 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -34,8 +34,24 @@ intended for use with local development.
 
 ### Local overrides
 
+#### Environment Variables
+
+To override environment variables locally, create a `./docker/.env-local` file (git-ignored). This file will be loaded after `.env` and can override any settings.
+
+#### Python Configuration
+
 In order to override configuration settings locally, simply make a copy of [`./docker/pythonpath_dev/superset_config_local.example`](./pythonpath_dev/superset_config_local.example)
-into `./docker/pythonpath_dev/superset_config_docker.py` (git ignored) and fill in your overrides.
+into `./docker/pythonpath_dev/superset_config_docker.py` (git-ignored) and fill in your overrides.
+
+#### WebSocket Configuration
+
+To customize the WebSocket server configuration, create `./docker/superset-websocket/config.json` (git-ignored) based on [`./docker/superset-websocket/config.example.json`](./superset-websocket/config.example.json).
+
+Then update the `superset-websocket`.`volumes` config to mount it.
+
+#### Docker Compose Overrides
+
+For advanced Docker Compose customization, create a `docker-compose-override.yml` file (git-ignored) to override or extend services without modifying the main compose file.
 
 ### Local packages
 
diff --git a/docker/superset-websocket/config.example.json b/docker/superset-websocket/config.example.json
new file mode 100644
index 0000000000..8f6afdcc22
--- /dev/null
+++ b/docker/superset-websocket/config.example.json
@@ -0,0 +1,22 @@
+{
+  "port": 8080,
+  "logLevel": "info",
+  "logToFile": false,
+  "logFilename": "app.log",
+  "statsd": {
+    "host": "127.0.0.1",
+    "port": 8125,
+    "globalTags": []
+  },
+  "redis": {
+    "port": 6379,
+    "host": "127.0.0.1",
+    "password": "",
+    "db": 0,
+    "ssl": false
+  },
+  "redisStreamPrefix": "async-events-",
+  "jwtAlgorithms": ["HS256"],
+  "jwtSecret": "CHANGE-ME-IN-PRODUCTION-GOTTA-BE-LONG-AND-SECRET",
+  "jwtCookieName": "async-token"
+}