Public | Automated Build

Last pushed: 10 days ago
Short Description
[0.17.1] Superset for MySQL, PostgreSQL, SQLite, and Amazon Redshift on Python3
Full Description

Superset

Docker image for AirBnB's Superset.

Formerly Caravel

Demo

Run the superset demo by entering this command into your console:

git clone git@github.com:amancevice/superset.git
cd superset
docker-compose up -d redis mysql
# Wait for MySQL to come online...
docker-compose up -d superset
# Wait for Superset to come online...
docker-compose exec superset demo

You will be prompted to set up an admin user.

When finished navigate to http://localhost:8088/ to see the demo.

Log in with the credentials you just created.

Versions

This repo is tagged in parallel with superset. Pulling amancevice/superset:0.13.1 will fetch the image of this repository running superset version 0.13.1. It is possible that the latest tag includes new features/support libraries but will usually be in sync with the latest semantic version.

Configuration

As of 0.15.0 I have removed the default superset_config.py file that is laid down. Users who wish to override the defaults should review the configuration provided by AirBnB, determine which values to override, and mount this file to /home/superset/superset_config.py.

A very simple example is available for reference at ./superset_config.py (which is used by the demo docker-compose file).

Database Initialization

After starting the Superset server, initialize the database with an admin user and Superset tables using the superset-init helper script:

docker run --detach --name superset [options] amancevice/superset
docker exec -it superset superset-init

Upgrading

Upgrading to a newer version of superset can be accomplished by re-pulling amancevice/supersetat a specified superset version or latest (see above for more on this). Remove the old container and re-deploy, making sure to use the correct environmental configuration. Finally, ensure the superset database is migrated up to the head:

# Pull desired version
docker pull amancevice/superset

# Remove the current container
docker rm -f superset-old

# Deploy a new container ...
docker run --detach --name superset-new [options] amancevice/superset

# Upgrade the DB
docker exec superset-new superset db upgrade
Docker Pull Command
Owner
amancevice
Source Repository

Comments (3)
dwpdsnclss
6 days ago

Importing a table from postgres - I can't amend the List Table Column page, I check desired boxes, go back to details and save, but lose changes.

Am I missing something obvious?

amancevice
4 months ago

@zfbp ldap isn't installed in this image by default. You'll have to install it yourself for now:

FROM amancevice/superset:0.13.2
RUN pip3 install ldap3

zfbp
4 months ago

When set AUTH_TYPE =2 (AUTH_LDAP) :

Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/manager.py", line 597, in auth_user_ldap
import ldap
ImportError: No module named 'ldap'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.5/site-packages/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.5/site-packages/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/usr/lib/python3.5/site-packages/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.5/site-packages/flask/app.py", line 1625, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/views.py", line 398, in login
user = self.appbuilder.sm.auth_user_ldap(form.username.data, form.password.data)
File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/manager.py", line 599, in auth_user_ldap
raise Exception("No ldap library for python.")
Exception: No ldap library for python.