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/29 20:04:04 UTC

(superset) branch chore/docker-etc-changes created (now 156729cc7c)

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

vavila pushed a change to branch chore/docker-etc-changes
in repository https://gitbox.apache.org/repos/asf/superset.git


      at 156729cc7c chore: Docs and config improvements for Docker setup

This branch includes the following new commits:

     new 156729cc7c chore: Docs and config improvements for Docker setup

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(superset) 01/01: chore: Docs and config improvements for Docker setup

Posted by va...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vavila pushed a commit to branch chore/docker-etc-changes
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 156729cc7ca127b1cb8e1f2191f242138f195484
Author: Vitor Avila <vi...@preset.io>
AuthorDate: Wed Oct 29 17:02:57 2025 -0300

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

diff --git a/.gitignore b/.gitignore
index 9c9fc39d17..3a4b0bb2d7 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..fa50204ede 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -171,11 +171,13 @@ 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 \
     if [ "${INCLUDE_CHROMIUM}" = "true" ] || [ "${INCLUDE_FIREFOX}" = "true" ]; then \
-        uv pip install playwright && \
+        uv pip install playwright Pillow && \
         playwright install-deps && \
         if [ "${INCLUDE_CHROMIUM}" = "true" ]; then playwright install chromium; fi && \
         if [ "${INCLUDE_FIREFOX}" = "true" ]; then playwright install firefox; fi; \
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"
+}