Docker Superset

Repository for Docker Image of Apache-Superset. [Docker Image: https://hub.docker.com/r/abhioncbr/docker-superset
Alternatives To Docker Superset
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Mall64,402
a day ago32apache-2.0Java
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Mall Learning11,780
a month ago24apache-2.0Java
mall学习教程,架构、业务、技术要点全方位解析。mall项目(50k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
Mall Swarm9,716
3 months ago35apache-2.0Java
mall-swarm是一套微服务商城系统,采用了 Spring Cloud 2021 & Alibaba、Spring Boot 2.7、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Rap2 Delos7,400
5 months ago73mitTypeScript
阿里妈妈前端团队出品的开源接口管理工具RAP第二代
Coolify7,293
14 hours ago230apache-2.0Svelte
An open-source & self-hostable Heroku / Netlify alternative.
Pgloader4,413
13 days ago1February 27, 2018288otherCommon Lisp
Migrate to PostgreSQL in a single command!
Devilbox4,080
12 days ago42mitPHP
A modern Docker LAMP stack and MEAN stack for local development
Awesome Programming Books3,649
8 months ago4
📚 经典技术书籍推荐,持续更新...
Dnmp3,447
18 days ago52mitShell
Docker LNMP (Nginx, PHP7/PHP5, MySQL, Redis)
Dbmate3,19916 days ago27March 25, 202212mitGo
:rocket: A lightweight, framework-agnostic database migration tool.
Alternatives To Docker Superset
Select To Compare


Alternative Project Comparisons
Readme

Inviting contributors for enhancing & maintaining the project.

docker-superset

Repository for building Docker container of Apache Superset.

Superset

CircleCI License Code Climate PRs Welcome

Images

Image Pulls Tags
abhioncbr/docker-superset Docker Pulls tags

Superset components stack

  • Enhanced/Modified version of the docker container of apache-superset.
  • Superset version: Notation for representing version X.YY.ZZzzz which means either
    • 0.36.0
    • 0.35.0, 0.35.1
    • 0.34.0, 0.34.0rc1
    • latest, 0.32.0rc2
    • 0.29.0rc8, 0.29.0rc7, 0.29.0rc5, 0.29.0rc4
    • 0.28.1, 0.28.0
  • Backend database: MySQL
  • SqlLabs query async mode: Celery
  • Task queue & query cache: Redis
  • Image contains all database plugin dependencies and elastic-search

Superset ports

  • superset portal port: 8088
  • superset celery flower port: 5555

Silent features of the docker image

  • multiple ways to start a container, i.e. either by using docker-compose or by using docker run command.
  • superset all components, i.e. web application, celery worker, celery flower UI can run in the same container or in different containers.
  • container first run sets required database along with examples and the Fabmanager user account with credentials username: admin & password: admin.
  • superset config file i.e superset_config.py should be mounted to the container. No need to rebuild image for changing configurations.
  • the default configuration uses MySQL as a Superset metadata database and Redis as a cache & celery broker.
  • starting the container using docker-compose will start three containers. mysql5.7 as the database, redis3.4 as a cache & celery broker and superset container.
    • expects multiple environment variables defined in docker-compose.yml file. Default environment variables are present in file .env.
    • override default environment variables either by editing .env file or passing through commands like SUPERSET_ENV.
    • permissible value of SUPERSET_ENV can be either local or prod.
    • in local mode one celery worker and superset flask-based superset web application run.
    • in prod mode two celery workers and Gunicorn based superset web application run.
  • starting container using docker run can be a used for complete distributed setup, requires database & Redis URL for startup.
    • single or multiple server(using load balancer) container can be spawned. In the server, Gunicorn based superset web application runs.
    • multiple celery workers container running on same or different machines. In worker, celery worker & flower UI runs.

How to build the image

  • DockerFile uses superset-version as a build-arg, for example: 0.28.0 or 0.29.0rc4
  • build image using docker build command
    docker build -t abhioncbr/docker-superset:<version-tag> --build-arg SUPERSET_VERSION=<superset-version> -f ~/docker-superset/docker-files/Dockerfile .
    

How to run using Kitmatic

  • Simplest way for exploration purpose, using Kitematic(Run containers through a simple, yet powerful graphical user interface.)
    • Search abhioncbr/docker-superset Image on docker-hub Kitematic-search-docker-supeset

    • Start a container through Kitematic UI. Kitematic-start-superset-container

How to run using docker commands

  • Through general docker commands -

    • first pull a docker-superset image from docker-hub using either

      docker pull abhioncbr/docker-superset
      

      or for specific superset version by providing version value

      docker pull abhioncbr/docker-superset:<version-tag>
      
    • Copy superset_config.py, docker-compose.yml, and .env files. I am considering directory structure like below

      docker-superset
           |_ config
           |    |_superset_config.py
           |
           |_docker-files
           |    |_docker-compose.yml
           |    |_.env
      
      
    • using docker-compose:

      • starting a superset image as a superset container in a local mode:

        cd docker-superset/docker-files/ && docker-compose up -d
        

        or for passing some different environment variables values like below

        cd docker-superset/docker-files/ && SUPERSET_ENV=local SUPERSET_VERSION=<version-tag> docker-compose up -d
        
      • starting a superset image as a superset container in a prod mode:

        cd docker-superset/docker-files/ && SUPERSET_ENV=prod SUPERSET_VERSION=<version-tag> docker-compose up -d
        
    • using docker run:

      • starting a superset image as a server container:
        cd docker-superset && docker run -p 8088:8088 -v config:/home/superset/config/ abhioncbr/docker-superset:<version-tag> cluster server <superset_metadata_db_url> <redis_url>
        
      • starting a superset image as a worker container:
         cd docker-superset && docker run -p 5555:5555 -v config:/home/superset/config/ abhioncbr/docker-superset:<version-tag> cluster worker <superset_metadata_db_url> <redis_url>
        

    Superset

Distributed execution of superset

  • As mentioned above, docker image of superset can be leveraged to run in complete distributed run
    • load-balancer in front for routing the request from the client to one server container.
    • multiple docker-superset container in server mode for serving the UI of the superset.
    • multiple docker-superset containers in worker mode for executing the SQL queries in an async mode using celery executor.
    • centralised Redis container or Redis-cluster for serving as cache layer and celery task queues for workers.
    • centralised superset metadata database.
  • Image below depicts the docker-superset distributed platform: Distributed-Superset

Published Posts

Popular Docker Projects
Popular Mysql Projects
Popular Virtualization Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Shell
Docker
Mysql
Redis
Sql
Dashboard
Apache
Docker Image
Docker Compose
Docker Container
Celery
Distributed Systems
Flask Application