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"
+}