You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ta...@apache.org on 2021/02/18 17:55:44 UTC

[superset] branch master updated: chore: add non-dev docker-compose workflow (#13143)

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

tai 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 aa50161  chore: add non-dev docker-compose workflow (#13143)
aa50161 is described below

commit aa50161933c51cfff858b14a88d1b8f43d857915
Author: ʈᵃᵢ <td...@gmail.com>
AuthorDate: Thu Feb 18 09:55:15 2021 -0800

    chore: add non-dev docker-compose workflow (#13143)
---
 docker-compose.yml => docker-compose-non-dev.yml | 45 +++++-------------------
 docker-compose.yml                               | 10 ++++++
 docker/.env                                      |  1 +
 docker/{.env => .env-non-dev}                    |  5 +--
 docker/docker-bootstrap.sh                       |  3 ++
 docs/src/pages/docs/installation/index.mdx       | 11 +++++-
 6 files changed, 36 insertions(+), 39 deletions(-)

diff --git a/docker-compose.yml b/docker-compose-non-dev.yml
similarity index 68%
copy from docker-compose.yml
copy to docker-compose-non-dev.yml
index 733ad3e..94c2ac5 100644
--- a/docker-compose.yml
+++ b/docker-compose-non-dev.yml
@@ -14,17 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-x-superset-image: &superset-image apache/superset:latest-dev
+x-superset-image: &superset-image apache/superset:latest
 x-superset-depends-on: &superset-depends-on
   - db
   - redis
 x-superset-volumes: &superset-volumes
   # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
   - ./docker:/app/docker
-  - ./superset:/app/superset
-  - ./superset-frontend:/app/superset-frontend
   - superset_home:/app/superset_home
-  - ./tests:/app/tests
 
 version: "3.7"
 services:
@@ -32,8 +29,6 @@ services:
     image: redis:3.2
     container_name: superset_cache
     restart: unless-stopped
-    ports:
-      - "127.0.0.1:6379:6379"
     volumes:
       - redis:/data
 
@@ -42,66 +37,44 @@ services:
     image: postgres:10
     container_name: superset_db
     restart: unless-stopped
-    ports:
-      - "127.0.0.1:5432:5432"
     volumes:
       - db_home:/var/lib/postgresql/data
 
   superset:
-    env_file: docker/.env
+    env_file: docker/.env-non-dev
     image: *superset-image
     container_name: superset_app
-    command: ["/app/docker/docker-bootstrap.sh", "app"]
     restart: unless-stopped
     ports:
       - 8088:8088
-    user: "root"
     depends_on: *superset-depends-on
     volumes: *superset-volumes
-    environment:
-      CYPRESS_CONFIG: "${CYPRESS_CONFIG}"
 
   superset-init:
     image: *superset-image
     container_name: superset_init
     command: ["/app/docker/docker-init.sh"]
-    env_file: docker/.env
+    env_file: docker/.env-non-dev
     depends_on: *superset-depends-on
     user: "root"
     volumes: *superset-volumes
-    environment:
-      CYPRESS_CONFIG: "${CYPRESS_CONFIG}"
-
-  superset-node:
-    image: node:12
-    container_name: superset_node
-    command: ["/app/docker/docker-frontend.sh"]
-    env_file: docker/.env
-    depends_on: *superset-depends-on
-    volumes: *superset-volumes
 
   superset-worker:
     image: *superset-image
     container_name: superset_worker
     command: ["/app/docker/docker-bootstrap.sh", "worker"]
-    env_file: docker/.env
+    env_file: docker/.env-non-dev
     restart: unless-stopped
     depends_on: *superset-depends-on
     user: "root"
     volumes: *superset-volumes
 
-  superset-tests-worker:
+  superset-worker-beat:
     image: *superset-image
-    container_name: superset_tests_worker
-    command: ["/app/docker/docker-bootstrap.sh", "worker"]
-    env_file: docker/.env
-    environment:
-      DATABASE_HOST: localhost
-      DATABASE_DB: test
-      REDIS_CELERY_DB: 2
-      REDIS_RESULTS_DB: 3
-      REDIS_HOST: localhost
-    network_mode: host
+    container_name: superset_worker_beat
+    command: ["/app/docker/docker-bootstrap.sh", "beat"]
+    env_file: docker/.env-non-dev
+    restart: unless-stopped
     depends_on: *superset-depends-on
     user: "root"
     volumes: *superset-volumes
diff --git a/docker-compose.yml b/docker-compose.yml
index 733ad3e..12cc4c1 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -90,6 +90,16 @@ services:
     user: "root"
     volumes: *superset-volumes
 
+  superset-worker-beat:
+    image: *superset-image
+    container_name: superset_worker_beat
+    command: ["/app/docker/docker-bootstrap.sh", "beat"]
+    env_file: docker/.env
+    restart: unless-stopped
+    depends_on: *superset-depends-on
+    user: "root"
+    volumes: *superset-volumes
+
   superset-tests-worker:
     image: *superset-image
     container_name: superset_tests_worker
diff --git a/docker/.env b/docker/.env
index 9594adb..b2f11c1 100644
--- a/docker/.env
+++ b/docker/.env
@@ -43,3 +43,4 @@ FLASK_ENV=development
 SUPERSET_ENV=development
 SUPERSET_LOAD_EXAMPLES=yes
 CYPRESS_CONFIG=false
+SUPERSET_PORT=8088
diff --git a/docker/.env b/docker/.env-non-dev
similarity index 95%
copy from docker/.env
copy to docker/.env-non-dev
index 9594adb..1cb5d30 100644
--- a/docker/.env
+++ b/docker/.env-non-dev
@@ -39,7 +39,8 @@ PYTHONPATH=/app/pythonpath:/app/docker/pythonpath_dev
 REDIS_HOST=redis
 REDIS_PORT=6379
 
-FLASK_ENV=development
-SUPERSET_ENV=development
+FLASK_ENV=production
+SUPERSET_ENV=production
 SUPERSET_LOAD_EXAMPLES=yes
 CYPRESS_CONFIG=false
+SUPERSET_PORT=8088
diff --git a/docker/docker-bootstrap.sh b/docker/docker-bootstrap.sh
index f44cf3a..ca7cd20 100755
--- a/docker/docker-bootstrap.sh
+++ b/docker/docker-bootstrap.sh
@@ -39,6 +39,9 @@ fi
 if [[ "${1}" == "worker" ]]; then
   echo "Starting Celery worker..."
   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
 elif [[ "${1}" == "app" ]]; then
   echo "Starting web app..."
   flask run -p 8088 --with-threads --reload --debugger --host=0.0.0.0
diff --git a/docs/src/pages/docs/installation/index.mdx b/docs/src/pages/docs/installation/index.mdx
index ff16ee0..7c895d4 100644
--- a/docs/src/pages/docs/installation/index.mdx
+++ b/docs/src/pages/docs/installation/index.mdx
@@ -68,12 +68,21 @@ $ git checkout latest
 Then, run the following command:
 
 ```bash
-$ docker-compose up
+$ docker-compose -f docker-compose-non-dev.yml up
 ```
 
 You should see a wall of logging output from the containers being launched on your machine. Once
 this output slows, you should have a running instance of Superset on your local machine!
 
+**Note:** this will bring up superset in a non-dev mode, changes to the codebase will not be reflected.
+If you would like to run superset in dev mode, simply replace the previous command with:
+
+```bash
+$ docker-compose up
+```
+
+and wait for the `superset_node` container to finish building the assets.
+
 ### 4. Log in to Superset
 
 Your local Superset instance also includes a Postgres server to store your data and is already