From d46aa6004d3ee78929048f607e853f7a77237af5 Mon Sep 17 00:00:00 2001 From: Daniel Vaz Gaspar Date: Wed, 26 May 2021 09:12:48 +0100 Subject: [PATCH] fix(docker): superset permissions and firefox config (#14736) * fix(docker): superset permissions and firefox config * fix lint * user SUPERSET_HOME ENV on bootstrap script --- Dockerfile | 4 ++-- docker-compose.yml | 11 ++++++----- docker/docker-bootstrap.sh | 2 +- superset/config.py | 8 ++------ 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9d6a61bef..53a2c8f54 100644 --- a/Dockerfile +++ b/Dockerfile @@ -84,8 +84,8 @@ ENV LANG=C.UTF-8 \ SUPERSET_HOME="/app/superset_home" \ SUPERSET_PORT=8088 -RUN useradd --user-group --no-create-home --no-log-init --shell /bin/bash superset \ - && mkdir -p ${SUPERSET_HOME} ${PYTHONPATH} \ +RUN useradd --user-group -d ${SUPERSET_HOME} --no-log-init --shell /bin/bash superset \ + && mkdir -p ${PYTHONPATH} \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ build-essential \ diff --git a/docker-compose.yml b/docker-compose.yml index 943005920..8b94f7017 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,7 @@ # limitations under the License. # x-superset-image: &superset-image apache/superset:latest-dev +x-superset-user: &superset-user root x-superset-depends-on: &superset-depends-on - db - redis @@ -55,7 +56,7 @@ services: restart: unless-stopped ports: - 8088:8088 - user: "root" + user: *superset-user depends_on: *superset-depends-on volumes: *superset-volumes environment: @@ -95,7 +96,7 @@ services: command: ["/app/docker/docker-init.sh"] env_file: docker/.env depends_on: *superset-depends-on - user: "root" + user: *superset-user volumes: *superset-volumes environment: CYPRESS_CONFIG: "${CYPRESS_CONFIG}" @@ -115,7 +116,7 @@ services: env_file: docker/.env restart: unless-stopped depends_on: *superset-depends-on - user: "root" + user: *superset-user volumes: *superset-volumes superset-worker-beat: @@ -125,7 +126,7 @@ services: env_file: docker/.env restart: unless-stopped depends_on: *superset-depends-on - user: "root" + user: *superset-user volumes: *superset-volumes superset-tests-worker: @@ -141,7 +142,7 @@ services: REDIS_HOST: localhost network_mode: host depends_on: *superset-depends-on - user: "root" + user: *superset-user volumes: *superset-volumes volumes: diff --git a/docker/docker-bootstrap.sh b/docker/docker-bootstrap.sh index b934640ef..57163ccfe 100755 --- a/docker/docker-bootstrap.sh +++ b/docker/docker-bootstrap.sh @@ -41,7 +41,7 @@ if [[ "${1}" == "worker" ]]; then celery worker --app=superset.tasks.celery_app:app -Ofair -l INFO elif [[ "${1}" == "beat" ]]; then echo "Starting Celery beat..." - celery beat --app=superset.tasks.celery_app:app --pidfile /tmp/celerybeat.pid -l INFO + celery beat --app=superset.tasks.celery_app:app --pidfile /tmp/celerybeat.pid -l INFO -s "${SUPERSET_HOME}"/celerybeat-schedule elif [[ "${1}" == "app" ]]; then echo "Starting web app..." flask run -p 8088 --with-threads --reload --debugger --host=0.0.0.0 diff --git a/superset/config.py b/superset/config.py index b01b0ccab..2bbb249a8 100644 --- a/superset/config.py +++ b/superset/config.py @@ -1028,16 +1028,12 @@ WEBDRIVER_WINDOW = {"dashboard": (1600, 2000), "slice": (3000, 1200)} WEBDRIVER_AUTH_FUNC = None # Any config options to be passed as-is to the webdriver -WEBDRIVER_CONFIGURATION: Dict[Any, Any] = {} +WEBDRIVER_CONFIGURATION: Dict[Any, Any] = {"service_log_path": "/dev/null"} # Additional args to be passed as arguments to the config object # Note: these options are Chrome-specific. For FF, these should # only include the "--headless" arg -WEBDRIVER_OPTION_ARGS = [ - "--force-device-scale-factor=2.0", - "--high-dpi-support=2.0", - "--headless", -] +WEBDRIVER_OPTION_ARGS = ["--headless", "--marionette"] # The base URL to query for accessing the user interface WEBDRIVER_BASEURL = "http://0.0.0.0:8080/"