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