GithubHelp home page GithubHelp logo

amancevice / docker-superset Goto Github PK

View Code? Open in Web Editor NEW
945.0 40.0 418.0 851 KB

Docker image for Airbnb's Superset

Home Page: https://hub.docker.com/r/amancevice/superset/

License: MIT License

Shell 9.36% Dockerfile 65.35% Makefile 25.30%
docker python superset

docker-superset's Introduction

Superset

version latest

Docker image for Superset.

This project is unofficial and not related to Superset or Apache.

Download

Download this image from the Docker registry:

docker pull amancevice/superset:<version>

Building

I DO NOT recommend building this image directly from the Dockerfile included in this repository.

If you wish to extend this image then the best course of action is to write your own Dockerfile that extends this image. Eg,

FROM amancevice/superset:<version>
USER root
# Your changes...
USER superset

Issues

Please ONLY file issues in this project that are related to Docker and DO include the Docker commands or compose configuration of your setup when filing issues (be sure to hide any secrets/passwords before submitting).

File issues/bugs with Superset at the source.

Please DO NOT files issues like "Please include <some-python-pip> in the Dockerfile," open a pull request for updates/enhancements.

Examples

Navigate to the examples directory to view examples of how to configure Superset with MySQL, PostgreSQL, or SQLite.

Versions

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

Configuration

Follow the instructions provided by Apache Superset for writing your own superset_config.py. Place this file in a local directory and mount this directory to /etc/superset inside the container. This location is included in the image's PYTHONPATH. Mounting this file to a different location is possible, but it will need to be in the PYTHONPATH.

View the contents of the examples directory to see some simple superset_config.py samples.

Volumes

The image defines two data volumes: one for mounting configuration into the container, and one for data (logs, SQLite DBs, &c).

The configuration volume is located alternatively at /etc/superset or /home/superset; either is acceptable. Both of these directories are included in the PYTHONPATH of the image. Mount any configuration (specifically the superset_config.py file) here to have it read by the app on startup.

The data volume is located at /var/lib/superset and it is where you would mount your SQLite file (if you are using that as your backend), or a volume to collect any logs that are routed there. This location is used as the value of the SUPERSET_HOME environmental variable.

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

# Sync the base permissions
docker exec superset-new superset init

docker-superset's People

Contributors

amancevice avatar burkostya avatar ceastman-ibm avatar charlieorlando avatar christophlingg avatar chrisxstyles avatar cypressious avatar danisola avatar davidginzburg avatar dependabot[bot] avatar dominicmarmont avatar ebuildy avatar erikthoreson avatar frankfarrell avatar frankhsu avatar gaetanf avatar gonzalo avatar icy avatar iercan avatar ishpreet-singh avatar maulikjs avatar mced avatar mleuthold avatar mrshu avatar ms32035 avatar prideloki avatar rimolive avatar rukshn avatar songololo avatar tariqahassan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-superset's Issues

Error during `docker-compose up -d superset`

When working through the install, I get the error FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-lg8ohxhc-uninstall/usr/lib/python3.5/site-packages/dateutil/__init__.py'

More info:

docker-compose up -d superset
Building superset
Step 1/12 : FROM amancevice/pandas:0.18.1-python3
 ---> 33d75b90e290
Step 2/12 : ENV SUPERSET_VERSION 0.15.4
 ---> Using cache
 ---> a0dfd18a808d
Step 3/12 : RUN apk add --no-cache         curl         libffi-dev         cyrus-sasl-dev         mariadb-dev         postgresql-dev &&     pip3 install         superset==$SUPERSET_VERSION         mysqlclient==1.3.7         ldap3==2.1.1         psycopg2==2.6.1         redis==2.10.5         sqlalchemy-redshift==0.5.0
 ---> Running in aaf2c3f1ce4a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/21) Upgrading libcrypto1.0 (1.0.2j-r0 -> 1.0.2k-r0)
(2/21) Upgrading libssl1.0 (1.0.2j-r0 -> 1.0.2k-r0)
(3/21) Installing ca-certificates (20161130-r0)
(4/21) Installing libssh2 (1.7.0-r0)
(5/21) Installing libcurl (7.52.1-r0)
(6/21) Installing curl (7.52.1-r0)
(7/21) Installing db (5.3.28-r0)
(8/21) Installing libsasl (2.1.26-r7)
(9/21) Installing cyrus-sasl-dev (2.1.26-r7)
(10/21) Installing libffi-dev (3.2.1-r2)
(11/21) Installing zlib-dev (1.2.8-r2)
(12/21) Installing openssl-dev (1.0.2k-r0)
^[[6~^[[6~(13/21) Installing mariadb-common (10.1.21-r0)
(14/21) Installing mariadb-client-libs (10.1.21-r0)
(15/21) Installing libaio (0.3.110-r0)
(16/21) Installing mariadb-libs (10.1.21-r0)
(17/21) Installing mariadb-dev (10.1.21-r0)
(18/21) Installing libldap (2.4.44-r1)
(19/21) Installing libpq (9.5.4-r0)
(20/21) Installing postgresql-libs (9.5.4-r0)
(21/21) Installing postgresql-dev (9.5.4-r0)
Executing busybox-1.24.2-r11.trigger
Executing ca-certificates-20161130-r0.trigger
OK: 491 MiB in 58 packages
Collecting superset==0.15.4
  Downloading superset-0.15.4.tar.gz (32.4MB)
Collecting mysqlclient==1.3.7
  Downloading mysqlclient-1.3.7.tar.gz (79kB)
Collecting ldap3==2.1.1
  Downloading ldap3-2.1.1-py2.py3-none-any.whl (352kB)
Collecting psycopg2==2.6.1
  Downloading psycopg2-2.6.1.tar.gz (371kB)
Collecting redis==2.10.5
  Downloading redis-2.10.5-py2.py3-none-any.whl (60kB)
Collecting sqlalchemy-redshift==0.5.0
  Downloading sqlalchemy_redshift-0.5.0-py2.py3-none-any.whl
Collecting celery==3.1.23 (from superset==0.15.4)
  Downloading celery-3.1.23-py2.py3-none-any.whl (520kB)
Collecting cryptography==1.5.3 (from superset==0.15.4)
  Downloading cryptography-1.5.3.tar.gz (400kB)
Collecting flask-appbuilder==1.8.1 (from superset==0.15.4)
  Downloading Flask-AppBuilder-1.8.1.tar.gz (1.1MB)
Collecting flask-cache==0.13.1 (from superset==0.15.4)
  Downloading Flask-Cache-0.13.1.tar.gz (45kB)
Collecting flask-migrate==1.5.1 (from superset==0.15.4)
  Downloading Flask-Migrate-1.5.1.tar.gz
Collecting flask-script==2.0.5 (from superset==0.15.4)
  Downloading Flask-Script-2.0.5.tar.gz (42kB)
Collecting flask-testing==0.5.0 (from superset==0.15.4)
  Downloading Flask-Testing-0.5.0.tar.gz (40kB)
Collecting flask-sqlalchemy==2.0 (from superset==0.15.4)
  Downloading Flask-SQLAlchemy-2.0.tar.gz (93kB)
Collecting humanize==0.5.1 (from superset==0.15.4)
  Downloading humanize-0.5.1.tar.gz
Collecting gunicorn==19.6.0 (from superset==0.15.4)
  Downloading gunicorn-19.6.0-py2.py3-none-any.whl (114kB)
Collecting markdown==2.6.6 (from superset==0.15.4)
  Downloading Markdown-2.6.6.zip (412kB)
Requirement already satisfied (use --upgrade to upgrade): pandas==0.18.1 in /usr/lib/python3.5/site-packages (from superset==0.15.4)
Collecting parsedatetime==2.0.0 (from superset==0.15.4)
  Downloading parsedatetime-2.0.tar.gz (56kB)
Collecting pydruid==0.3.1 (from superset==0.15.4)
  Downloading pydruid-0.3.1-py2.py3-none-any.whl
Collecting PyHive>=0.2.1 (from superset==0.15.4)
  Downloading PyHive-0.2.1.tar.gz (42kB)
Collecting python-dateutil==2.5.3 (from superset==0.15.4)
  Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB)
Collecting requests==2.10.0 (from superset==0.15.4)
  Downloading requests-2.10.0-py2.py3-none-any.whl (506kB)
Collecting simplejson==3.8.2 (from superset==0.15.4)
  Downloading simplejson-3.8.2.tar.gz (76kB)
Requirement already satisfied (use --upgrade to upgrade): six==1.10.0 in /usr/lib/python3.5/site-packages (from superset==0.15.4)
Collecting sqlalchemy==1.0.13 (from superset==0.15.4)
  Downloading SQLAlchemy-1.0.13.tar.gz (4.8MB)
Collecting sqlalchemy-utils==0.32.7 (from superset==0.15.4)
  Downloading SQLAlchemy-Utils-0.32.7.tar.gz (116kB)
Collecting sqlparse==0.1.19 (from superset==0.15.4)
  Downloading sqlparse-0.1.19.tar.gz (58kB)
Collecting thrift>=0.9.3 (from superset==0.15.4)
  Downloading thrift-0.10.0.zip (87kB)
Collecting thrift-sasl>=0.2.1 (from superset==0.15.4)
  Downloading thrift_sasl-0.2.1.tar.gz
Collecting werkzeug==0.11.10 (from superset==0.15.4)
  Downloading Werkzeug-0.11.10-py2.py3-none-any.whl (306kB)
Collecting pyasn1>=0.1.8 (from ldap3==2.1.1)
  Downloading pyasn1-0.2.2-py2.py3-none-any.whl (51kB)
Collecting billiard<3.4,>=3.3.0.23 (from celery==3.1.23->superset==0.15.4)
  Downloading billiard-3.3.0.23.tar.gz (151kB)
Requirement already satisfied (use --upgrade to upgrade): pytz>dev in /usr/lib/python3.5/site-packages (from celery==3.1.23->superset==0.15.4)
Collecting kombu<3.1,>=3.0.34 (from celery==3.1.23->superset==0.15.4)
  Downloading kombu-3.0.37-py2.py3-none-any.whl (240kB)
Collecting idna>=2.0 (from cryptography==1.5.3->superset==0.15.4)
  Downloading idna-2.2-py2.py3-none-any.whl (55kB)
Requirement already satisfied (use --upgrade to upgrade): setuptools>=11.3 in /usr/lib/python3.5/site-packages (from cryptography==1.5.3->superset==0.15.4)
Collecting cffi>=1.4.1 (from cryptography==1.5.3->superset==0.15.4)
  Downloading cffi-1.9.1.tar.gz (407kB)
Collecting colorama>=0.3 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading colorama-0.3.7-py2.py3-none-any.whl
Collecting click>=3.0 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
Collecting Flask>=0.10 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Flask-0.12-py2.py3-none-any.whl (82kB)
Collecting Flask-Babel>=0.10.0 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Flask-Babel-0.11.1.tar.gz (40kB)
Collecting Flask-Login==0.2.11 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Flask-Login-0.2.11.tar.gz
Collecting Flask-OpenID>=1.1.0 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Flask-OpenID-1.2.5.tar.gz (43kB)
Collecting Flask-WTF>=0.9.1 (from flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Flask_WTF-0.14.2-py2.py3-none-any.whl
Collecting alembic>=0.6 (from flask-migrate==1.5.1->superset==0.15.4)
  Downloading alembic-0.8.10.tar.gz (976kB)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in /usr/lib/python3.5/site-packages (from pandas==0.18.1->superset==0.15.4)
Collecting future (from PyHive>=0.2.1->superset==0.15.4)
  Downloading future-0.16.0.tar.gz (824kB)
Collecting sasl>=0.2.1 (from thrift-sasl>=0.2.1->superset==0.15.4)
  Downloading sasl-0.2.1.tar.gz
Collecting thriftpy (from thrift-sasl>=0.2.1->superset==0.15.4)
  Downloading thriftpy-0.3.9.tar.gz (208kB)
Collecting anyjson>=0.3.3 (from kombu<3.1,>=3.0.34->celery==3.1.23->superset==0.15.4)
  Downloading anyjson-0.3.3.tar.gz
Collecting amqp<2.0,>=1.4.9 (from kombu<3.1,>=3.0.34->celery==3.1.23->superset==0.15.4)
  Downloading amqp-1.4.9-py2.py3-none-any.whl (51kB)
Collecting pycparser (from cffi>=1.4.1->cryptography==1.5.3->superset==0.15.4)
  Downloading pycparser-2.17.tar.gz (231kB)
Collecting Jinja2>=2.4 (from Flask>=0.10->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Jinja2-2.9.5-py2.py3-none-any.whl (340kB)
Collecting itsdangerous>=0.21 (from Flask>=0.10->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading itsdangerous-0.24.tar.gz (46kB)
Collecting Babel>=2.3 (from Flask-Babel>=0.10.0->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading Babel-2.3.4-py2.py3-none-any.whl (7.1MB)
Collecting python3-openid>=2.0 (from Flask-OpenID>=1.1.0->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading python3-openid-3.0.10.zip (365kB)
Collecting WTForms (from Flask-WTF>=0.9.1->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading WTForms-2.1.zip (553kB)
Collecting Mako (from alembic>=0.6->flask-migrate==1.5.1->superset==0.15.4)
  Downloading Mako-1.0.6.tar.gz (575kB)
Collecting python-editor>=0.3 (from alembic>=0.6->flask-migrate==1.5.1->superset==0.15.4)
  Downloading python-editor-1.0.3.tar.gz
Collecting ply<4.0,>=3.4 (from thriftpy->thrift-sasl>=0.2.1->superset==0.15.4)
  Downloading ply-3.10.tar.gz (150kB)
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->Flask>=0.10->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading MarkupSafe-0.23.tar.gz
Collecting defusedxml (from python3-openid>=2.0->Flask-OpenID>=1.1.0->flask-appbuilder==1.8.1->superset==0.15.4)
  Downloading defusedxml-0.5.0-py2.py3-none-any.whl
Installing collected packages: billiard, anyjson, amqp, kombu, celery, idna, pyasn1, pycparser, cffi, cryptography, colorama, click, MarkupSafe, Jinja2, itsdangerous, werkzeug, Flask, Babel, Flask-Babel, Flask-Login, defusedxml, python3-openid, Flask-OpenID, sqlalchemy, flask-sqlalchemy, WTForms, Flask-WTF, flask-appbuilder, flask-cache, Mako, python-editor, alembic, flask-script, flask-migrate, flask-testing, humanize, gunicorn, markdown, parsedatetime, pydruid, future, PyHive, python-dateutil, requests, simplejson, sqlalchemy-utils, sqlparse, thrift, sasl, ply, thriftpy, thrift-sasl, superset, mysqlclient, ldap3, psycopg2, redis, sqlalchemy-redshift
  Running setup.py install for billiard: started
    Running setup.py install for billiard: finished with status 'done'
  Running setup.py install for anyjson: started
    Running setup.py install for anyjson: finished with status 'done'
  Running setup.py install for pycparser: started
    Running setup.py install for pycparser: finished with status 'done'
  Running setup.py install for cffi: started
    Running setup.py install for cffi: finished with status 'done'
  Running setup.py install for cryptography: started
    Running setup.py install for cryptography: finished with status 'done'
  Running setup.py install for MarkupSafe: started
    Running setup.py install for MarkupSafe: finished with status 'done'
  Running setup.py install for itsdangerous: started
    Running setup.py install for itsdangerous: finished with status 'done'
  Running setup.py install for Flask-Babel: started
    Running setup.py install for Flask-Babel: finished with status 'done'
  Running setup.py install for Flask-Login: started
    Running setup.py install for Flask-Login: finished with status 'done'
  Running setup.py install for python3-openid: started
    Running setup.py install for python3-openid: finished with status 'done'
  Running setup.py install for Flask-OpenID: started
    Running setup.py install for Flask-OpenID: finished with status 'done'
  Running setup.py install for sqlalchemy: started
    Running setup.py install for sqlalchemy: finished with status 'done'
  Running setup.py install for flask-sqlalchemy: started
    Running setup.py install for flask-sqlalchemy: finished with status 'done'
  Running setup.py install for WTForms: started
    Running setup.py install for WTForms: finished with status 'done'
  Running setup.py install for flask-appbuilder: started
    Running setup.py install for flask-appbuilder: finished with status 'done'
  Running setup.py install for flask-cache: started
    Running setup.py install for flask-cache: finished with status 'done'
  Running setup.py install for Mako: started
    Running setup.py install for Mako: finished with status 'done'
  Running setup.py install for python-editor: started
    Running setup.py install for python-editor: finished with status 'done'
  Running setup.py install for alembic: started
    Running setup.py install for alembic: finished with status 'done'
  Running setup.py install for flask-script: started
    Running setup.py install for flask-script: finished with status 'done'
  Running setup.py install for flask-migrate: started
    Running setup.py install for flask-migrate: finished with status 'done'
  Running setup.py install for flask-testing: started
    Running setup.py install for flask-testing: finished with status 'done'
  Running setup.py install for humanize: started
    Running setup.py install for humanize: finished with status 'done'
  Running setup.py install for markdown: started
    Running setup.py install for markdown: finished with status 'done'
  Running setup.py install for parsedatetime: started
    Running setup.py install for parsedatetime: finished with status 'done'
  Running setup.py install for future: started
    Running setup.py install for future: finished with status 'done'
  Running setup.py install for PyHive: started
    Running setup.py install for PyHive: finished with status 'done'
  Found existing installation: python-dateutil 2.6.0
    Uninstalling python-dateutil-2.6.0:
      Successfully uninstalled python-dateutil-2.6.0
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 430, in _rmtree_safe_fd
    os.unlink(name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: '__init__.py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/lib/python3.5/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/usr/lib/python3.5/site-packages/pip/req/req_set.py", line 743, in install
    requirement.commit_uninstall()
  File "/usr/lib/python3.5/site-packages/pip/req/req_install.py", line 759, in commit_uninstall
    self.uninstalled.commit()
  File "/usr/lib/python3.5/site-packages/pip/req/req_uninstall.py", line 142, in commit
    rmtree(self.save_dir)
  File "/usr/lib/python3.5/site-packages/pip/_vendor/retrying.py", line 49, in wrapped_f
    return Retrying(*dargs, **dkw).call(f, *args, **kw)
  File "/usr/lib/python3.5/site-packages/pip/_vendor/retrying.py", line 212, in call
    raise attempt.get()
  File "/usr/lib/python3.5/site-packages/pip/_vendor/retrying.py", line 247, in get
    six.reraise(self.value[0], self.value[1], self.value[2])
  File "/usr/lib/python3.5/site-packages/pip/_vendor/six.py", line 686, in reraise
    raise value
  File "/usr/lib/python3.5/site-packages/pip/_vendor/retrying.py", line 200, in call
    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
  File "/usr/lib/python3.5/site-packages/pip/utils/__init__.py", line 102, in rmtree
    onerror=rmtree_errorhandler)
  File "/usr/lib/python3.5/shutil.py", line 474, in rmtree
    _rmtree_safe_fd(fd, path, onerror)
  File "/usr/lib/python3.5/shutil.py", line 412, in _rmtree_safe_fd
    _rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.5/shutil.py", line 412, in _rmtree_safe_fd
    _rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.5/shutil.py", line 412, in _rmtree_safe_fd
    _rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.5/shutil.py", line 412, in _rmtree_safe_fd
    _rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.5/shutil.py", line 412, in _rmtree_safe_fd
    _rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.5/shutil.py", line 432, in _rmtree_safe_fd
    onerror(os.unlink, fullname, sys.exc_info())
  File "/usr/lib/python3.5/site-packages/pip/utils/__init__.py", line 110, in rmtree_errorhandler
    if os.stat(path).st_mode & stat.S_IREAD:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-lg8ohxhc-uninstall/usr/lib/python3.5/site-packages/dateutil/__init__.py'
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ERROR: Service 'superset' failed to build: The command '/bin/sh -c apk add --no-cache         curl         libffi-dev         cyrus-sasl-dev         mariadb-dev         postgresql-dev &&     pip3 install         superset==$SUPERSET_VERSION         mysqlclient==1.3.7         ldap3==2.1.1         psycopg2==2.6.1         redis==2.10.5         sqlalchemy-redshift==0.5.0' returned a non-zero code: 2

Login for acessing Superset

Hi. I was able to run Superset but on the login window it ask for user id/ password which I do not know. I did run this script
docker run --detach --name superset [options] amancevice/superset
docker exec -it superset superset-init

But the password mentioned here does not work on the application.

Can you please tell me how to create users to access Superset on browser ?

Thanks

Problem initialising Superset with Clickhouse

Hi

I am trying to integrate superset with Clickhouse using the latest amancevice/superset image ([0.26.3])

I am mounting the following superset_config.py in /etc/superset as expected:

SUPERSET_WEBSERVER_PORT = 8088
SECRET_KEY = 'blabla'
SQLALCHEMY_DATABASE_URI = 'clickhouse://USER:[email protected]:8081/default'
WTF_CSRF_ENABLED = True
WTF_CSRF_EXEMPT_LIST = []
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
MAPBOX_API_KEY = ''

I get the following log and the corresponding error:

2018-07-27 08:53:09,503:DEBUG:urllib3.connectionpool:http:/whateverurl.com:8081 "POST /?database=default&query_id=7c503aee-917a-11e8-80d1-0242ac110002&password=PASSWORD&user=USER HTTP/1.1" 200 None
2018-07-27 08:53:09,509:DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): whateverurl.com
2018-07-27 08:53:09,672:DEBUG:urllib3.connectionpool:http://whateverurl.com:8081 "POST /?database=default&query_id=7c63a52a-917a-11e8-9013-0242ac110002&password=PASSWORD&user=USER HTTP/1.1" 500 None
2018-07-27 08:53:09,674:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 42 (line 3, col 13): NOT NULL,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE (name)
)

FORMAT TabSeparatedWithNamesAndTypes. Expected one of: DEFAULT, token, ClosingRoundBracket, Comma, MATERIALIZED, ALIAS, e.what() = DB::Exception

Superset is unable to open database file

Hi,

I was trying to user the SQLite example in this repo. I copied both the docker-compose.yml file and the superset folder into my directory and runned the command docker-compose up and I got:

ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) unable to open database file

How can I solve this?

Demo script error: flask_appbuilder.base:'NoneType' object has no attribute 'name'

Trying to run the demo with demo.sh postgres or demo.sh sqlite results in the following errors:

Loaded your LOCAL configuration at [/etc/superset/superset_config.py]
2018-06-27 13:42:43,749:ERROR:flask_appbuilder.base:'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 469, in _add_permission
    self.sm.add_permissions_view(baseview.base_permissions, baseview.__class__.__name__)
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 819, in add_permissions_view
    if perm_view.permission.name not in base_permissions:
AttributeError: 'NoneType' object has no attribute 'name'
2018-06-27 13:42:43,750:ERROR:flask_appbuilder.base:Add Permission on View Error: 'NoneType' object has no attribute 'name'
2018-06-27 13:42:44,233:ERROR:flask_appbuilder.base:'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 469, in _add_permission
    self.sm.add_permissions_view(baseview.base_permissions, baseview.__class__.__name__)
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 819, in add_permissions_view
    if perm_view.permission.name not in base_permissions:
AttributeError: 'NoneType' object has no attribute 'name'
2018-06-27 13:42:44,235:ERROR:flask_appbuilder.base:Add Permission on View Error: 'NoneType' object has no attribute 'name'
2018-06-27 13:42:44,895:ERROR:flask_appbuilder.base:'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 469, in _add_permission
    self.sm.add_permissions_view(baseview.base_permissions, baseview.__class__.__name__)
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 819, in add_permissions_view
    if perm_view.permission.name not in base_permissions:
AttributeError: 'NoneType' object has no attribute 'name'
2018-06-27 13:42:44,897:ERROR:flask_appbuilder.base:Add Permission on View Error: 'NoneType' object has no attribute 'name'```

Superset still starts and I can access it via my browser on localhost but the plots and dashboards are broken (showing various error messages).

clickhouse driver error

you will get : ERROR: {"error": "Connection failed!\n\nThe error message returned was:\n'str' object has no attribute 'db_type'"} while try to connect to click-house at the latest version(docker pull amancevice/superset image size is 905MB). the pre version 0.25.6(docker pull amancevice/superset:0.25.6 size is 913MB) is OK。

Unable to start superset docker 0.25.0. missing python modules

Latest update 0.25.0 is giving the following error on docker on windows :

Starting superset_superset_1 ... done
Attaching to superset_superset_1
superset_1 | Traceback (most recent call last):
superset_1 | File "/usr/local/bin/superset", line 9, in
superset_1 | from flask.exthook import ExtDeprecationWarning
superset_1 | ImportError: No module named 'flask.exthook'
superset_superset_1 exited with code 1

Unable to create Tables with MySQL

Hello,

I can create MySQL datasource and then retrieve all tables when i click the 'Test Connection' button.
But i was unable to create "Tables" and then slice and dashboard...

Any issue about this problem ?

Thx

UnicodeEncodeError when export csv on sql lab

As title, and logs:

[2016-11-14 15:33:44 +0800] [25] [ERROR] Error handling request /superset/csv/BybA_1DWl
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/gunicorn/workers/sync.py", line 135, in handle
    self.handle_request(listener, req, client, addr)
  File "/usr/lib/python3.5/site-packages/gunicorn/workers/sync.py", line 182, in handle_request
    resp.write(item)
  File "/usr/lib/python3.5/site-packages/gunicorn/http/wsgi.py", line 342, in write
    self.send_headers()
  File "/usr/lib/python3.5/site-packages/gunicorn/http/wsgi.py", line 338, in send_headers
    util.write(self.sock, util.to_bytestring(header_str, "ascii"))
  File "/usr/lib/python3.5/site-packages/gunicorn/util.py", line 511, in to_bytestring
    return value.encode(encoding)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 210-211: ordinal not in range(128)

Upload a CSV

Hi
I've recently just discovered superset whilst browsing the airflow engineering blog. Your image is a great but I'd like to play with the "upload a CSV" feature but don't seem to be having much luck. I was wondering if you or anyone else have had any issues with this feature?

I've had to add
UPLOAD_FOLDER='/tmp/' to the mysql/supertset_config.py

I've created a new database called TEST and ensured the user has permissions to do stuff with this schema:

GRANT ALL PRIVILEGES ON TEST.* TO 'superset'@'%' WITH GRANT OPTION;

However I get the following stack trace.

        Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1615, in full_dispatch_request
    return self.finalize_request(rv)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1632, in finalize_request
    response = self.process_response(response)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1858, in process_response
    self.save_session(ctx.session, response)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 924, in save_session
    return self.session_interface.save_session(self, session, response)
  File "/usr/local/lib/python3.5/dist-packages/flask/sessions.py", line 363, in save_session
    val = self.get_signing_serializer(app).dumps(dict(session))
  File "/usr/local/lib/python3.5/dist-packages/itsdangerous.py", line 565, in dumps
    payload = want_bytes(self.dump_payload(obj))
  File "/usr/local/lib/python3.5/dist-packages/itsdangerous.py", line 847, in dump_payload
    json = super(URLSafeSerializerMixin, self).dump_payload(obj)
  File "/usr/local/lib/python3.5/dist-packages/itsdangerous.py", line 550, in dump_payload
    return want_bytes(self.serializer.dumps(obj))
  File "/usr/local/lib/python3.5/dist-packages/flask/sessions.py", line 85, in dumps
    return json.dumps(_tag(value), separators=(',', ':'))
  File "/usr/local/lib/python3.5/dist-packages/flask/json.py", line 123, in dumps
    rv = _json.dumps(obj, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/simplejson/__init__.py", line 397, in dumps
    **kw).encode(obj)
  File "/usr/local/lib/python3.5/dist-packages/simplejson/encoder.py", line 291, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/lib/python3.5/dist-packages/simplejson/encoder.py", line 373, in iterencode
    return _iterencode(o, 0)
  File "/usr/local/lib/python3.5/dist-packages/flask/json.py", line 80, in default
    return _json.JSONEncoder.default(self, o)
  File "/usr/local/lib/python3.5/dist-packages/simplejson/encoder.py", line 268, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: OperationalError('(_mysql_exceptions.OperationalError) (1045, "Access denied for user \'superset\'@\'172.21.0.4\' (using password: YES)")',) is not JSON serializable

I'm using the master version of your repository to create the image instead of pulling from dockerhub

idna version conflict for 0.25.0 image

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/superset/viz.py", line 364, in get_df_payload
df = self.get_df(query_obj)
File "/usr/local/lib/python3.5/dist-packages/superset/viz.py", line 162, in get_df
self.results = self.datasource.query(query_obj)
File "/usr/local/lib/python3.5/dist-packages/superset/connectors/sqla/models.py", line 714, in query
sql = self.get_query_str(query_obj)
File "/usr/local/lib/python3.5/dist-packages/superset/connectors/sqla/models.py", line 422, in get_query_str
engine = self.database.get_sqla_engine()
File "/usr/local/lib/python3.5/dist-packages/superset/utils.py", line 95, in call
value = self.func(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/superset/models/core.py", line 686, in get_sqla_engine
return create_engine(url, **params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/init.py", line 424, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/strategies.py", line 57, in create
entrypoint = u._get_entrypoint()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/url.py", line 156, in _get_entrypoint
cls = registry.load(name)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 201, in load
return self.implsname
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2290, in load
self.require(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2307, in require
items = working_set.resolve(reqs, env, installer)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 854, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (idna 2.2 (/usr/lib/python3/dist-packages), Requirement.parse('idna<2.7,>=2.5'), {'requests'})

this does not happen during startup but is displayed in all graphs on a dashboard

Redshift support?

Does yoru docker support Redshift connections

If so, can you provide some instructions on how to setup a Redshift data source connection?

error upon docker run

Any help on what this logged error upon docker run might mean?

2018-07-12 18:38:36,299:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) table ab_permission already exists [SQL: '\nCREATE TABLE ab_permission (\n\tid INTEGER NOT NULL, \n\tname VARCHAR(100) NOT NULL, \n\tPRIMARY KEY (id), \n\tUNIQUE (name)\n)\n\n'] (Background on this error at: http://sqlalche.me/e/e3q8)

how about to use docker data volumes

-v superset:/home/superset to replace COPY superset .
for data persistence (sqlite)

and if superset_config.py outside ,it is easily to modify it

Invalid login

After docker-compose up with the mysql example, I run the following command as the readme says.

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

But I can't login with the admin user I created. I also tried postgres, the result is the same.

The I decide to attach to the console after docker-compose up: docker exec -it mysql_superset_1 bash, then superset-init. And it worked! I can login with the user I just created.

I though it is related with user permission as the post says but I didn't Investigate it. I post it here for record and for whom with the same issue.

ERROR: for web Cannot start service web

Here is my docker-compose.yml:

version: '0.27.0'
services:
web:
image: amancevice/superset
container_name: superset_0.27.0
restart: always
mem_limit: 4g
command: runserver
ports:
- "9088:8088"

when I run docker-compose up -d, it returns error:

ERROR: for superset_0.27.0 Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: "runserver": executable file not found in $PATH"

superset worker : unhealthy on demo.sh celery

Hi,

I used the demo script provided with "bash demo.sh celery" to create docker instances but "superset worker" docker instance is in an unhealthy state. I am seeing the following error on "docker inspect"

"ExitCode": 7,
"Output": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
},

Complete log file below (Thanks for your help with this)

> [
    {
        "Id": "72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73",
        "Created": "2018-04-14T10:18:31.699862828Z",
        "Path": "superset",
        "Args": [
            "worker"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1736,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-04-14T11:23:08.811950072Z",
            "FinishedAt": "2018-04-14T11:21:44.107766094Z",
            "Health": {
                "Status": "unhealthy",
                "FailingStreak": 40,
                "Log": [
                    {
                        "Start": "2018-04-14T11:41:11.91077646Z",
                        "End": "2018-04-14T11:41:11.991523447Z",
                        "ExitCode": 7,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
                    },
                    {
                        "Start": "2018-04-14T11:41:41.995943789Z",
                        "End": "2018-04-14T11:41:42.078023141Z",
                        "ExitCode": 7,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
                    },
                    {
                        "Start": "2018-04-14T11:42:12.082665703Z",
                        "End": "2018-04-14T11:42:12.165380238Z",
                        "ExitCode": 7,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
                    },
                    {
                        "Start": "2018-04-14T11:42:42.169847202Z",
                        "End": "2018-04-14T11:42:42.243956221Z",
                        "ExitCode": 7,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
                    },
                    {
                        "Start": "2018-04-14T11:43:12.248323927Z",
                        "End": "2018-04-14T11:43:12.335262583Z",
                        "ExitCode": 7,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8088: Connection refused\n"
                    }
                ]
            }
        },
        "Image": "sha256:a6ab66d3f93f6947b6d2158d4fbafddd22168ff1da576d128eb6dbcc543880e6",
        "ResolvConfPath": "/var/lib/docker/containers/72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73/hostname",
        "HostsPath": "/var/lib/docker/containers/72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73/hosts",
        "LogPath": "/var/lib/docker/containers/72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73/72d1d60cadc982a3df6414299bf200ca12235036d4bdbd0a43b5435afa3d0b73-json.log",
        "Name": "/celery_worker_1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/ubuntu/superset/celery/superset:/etc/superset:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "celery_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "always",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": [],
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "shareable",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/5d6d18041285351f4aae6c1d9de85c1800e1b50a17fbf1589c86efdc827cef5d-init/diff:/var/lib/docker/overlay2/23d3ef9c743b5f1d35a5fd2a3435437c85bf09c0fb0f679440dfc75df6a2a13a/diff:/var/lib/docker/overlay2/a228020d54b832fd0f993061422a6a1f05d87664522428ff7f38f5b003ec14a3/diff:/var/lib/docker/overlay2/60df1c622e35066c273761a689deb692bb2791218f4795a2e534c0a4ccd36440/diff",
                "MergedDir": "/var/lib/docker/overlay2/5d6d18041285351f4aae6c1d9de85c1800e1b50a17fbf1589c86efdc827cef5d/merged",
                "UpperDir": "/var/lib/docker/overlay2/5d6d18041285351f4aae6c1d9de85c1800e1b50a17fbf1589c86efdc827cef5d/diff",
                "WorkDir": "/var/lib/docker/overlay2/5d6d18041285351f4aae6c1d9de85c1800e1b50a17fbf1589c86efdc827cef5d/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "b37e3c22210749d5bd7fe015df3adcf6bdc8c58e74b1b248e31f8018002ab421",
                "Source": "/var/lib/docker/volumes/b37e3c22210749d5bd7fe015df3adcf6bdc8c58e74b1b248e31f8018002ab421/_data",
                "Destination": "/home/superset",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "7971db57183f22d8cc43f302bcd63dab9f4582ab42ee9f1668749604e1ddb99d",
                "Source": "/var/lib/docker/volumes/7971db57183f22d8cc43f302bcd63dab9f4582ab42ee9f1668749604e1ddb99d/_data",
                "Destination": "/var/lib/superset",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "bind",
                "Source": "/home/ubuntu/superset/celery/superset",
                "Destination": "/etc/superset",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "72d1d60cadc9",
            "Domainname": "",
            "User": "superset",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "8088/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "MAPBOX_API_KEY=",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "LC_ALL=C.UTF-8",
                "PYTHONPATH=/etc/superset:/home/superset:",
                "SUPERSET_VERSION=0.24.0",
                "SUPERSET_HOME=/var/lib/superset"
            ],
            "Cmd": [
                "worker"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD",
                    "curl",
                    "-f",
                    "http://localhost:8088/health"
                ]
            },
            "Image": "amancevice/superset",
            "Volumes": {
                "/etc/superset": {},
                "/home/superset": {},
                "/var/lib/superset": {}
            },
            "WorkingDir": "/home/superset",
            "Entrypoint": [
                "superset"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "4f7597cd56d1edb22ee49227c8ff8c678a84207cddbe08bc62371fe8cd2a9f0f",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "celery",
                "com.docker.compose.service": "worker",
                "com.docker.compose.version": "1.8.0"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "de35b23c56e5c36f5e82344cb2fd7450c89a65d89f4894f5106434166d37326f",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "8088/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/de35b23c56e5",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "celery_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "72d1d60cadc9",
                        "worker"
                    ],
                    "NetworkID": "296b7570ca84719c36e1d1f7394eb546c5d4f463e0261c56eafb1d2e533d1a97",
                    "EndpointID": "be4e830e86f489d25e93938d99c48ea3bdfff05620fda7ccb198c85f480629ab",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:04",
                    "DriverOpts": null
                }
            }
        }
    }
]

create another build

Hi,
could you create another build from the latest master? There is a fix, that should fix my problem, not sure if this is the correct way to ask that :)

Influxdb support

I could use support for influx databases. Maybe consider adding it to your superset Docker file?

If I want to add influxdb support myself, how would I go about it?
Just add another line underneath pip3 install with influxalchemy in the Docker file?

ldap3 doesn't actually work with superset

It looks like the correct package to use is pyldap at https://github.com/pyldap/pyldap, however when I tried to run docker exec superset pip3 install pyldap I got the following error:

    In file included from Modules/LDAPObject.c:9:0:
    Modules/errors.h:8:18: fatal error: lber.h: No such file or directory
    compilation terminated.
    error: command 'gcc' failed with exit status 1

Tag 0.27.0

Hey there,
Looks like you bumped the superset version in the Dockerfile, but there's no tag cut for it. Any chance you could cut one so we can use the image?

superset-init hangs

Hi,

I wasn't sure if this is where this problem should be reported, but I can't find any references to superset-init at https://github.com/airbnb/superset so I'm assuming it might be something local to this repo.

When I run docker exec <container id> superset-init it is essentially hanging with the message:

docker exec c58d865da398 superset-init
Username [admin]: /usr/local/lib/python3.6/site-packages/flask_sqlalchemy/__init__.py:30: ExtDeprecationWarning: Importing flask.ext.sqlalchemy is deprecated, use flask_sqlalchemy instead.
  from flask.ext.sqlalchemy._compat import iteritems, itervalues, xrange, \

Any idea why this might be happening?

[latest] ImportError: No module named 'contextlib2'

I'm getting this error running the latest (image ID c61e2042e2f9):

Loaded your LOCAL configuration at [/etc/superset/superset_config.py]
Traceback (most recent call last):
  File "/usr/local/bin/superset", line 12, in <module>
    from superset.cli import manager
  File "/usr/local/lib/python3.5/dist-packages/superset/__init__.py", line 179, in <module>
    ConnectorRegistry.register_sources(module_datasource_map)
  File "/usr/local/lib/python3.5/dist-packages/superset/connectors/connector_registry.py", line 20, in register_sources
    module_obj = __import__(module_name, fromlist=class_names)
  File "/usr/local/lib/python3.5/dist-packages/superset/connectors/sqla/__init__.py", line 3, in <module>
    from . import views  # noqa
  File "/usr/local/lib/python3.5/dist-packages/superset/connectors/sqla/views.py", line 19, in <module>
    from superset.connectors.base.views import DatasourceModelView
  File "/usr/local/lib/python3.5/dist-packages/superset/connectors/base/views.py", line 11, in <module>
    from superset.views.base import SupersetModelView
  File "/usr/local/lib/python3.5/dist-packages/superset/views/__init__.py", line 3, in <module>
    from . import core  # noqa
  File "/usr/local/lib/python3.5/dist-packages/superset/views/core.py", line 36, in <module>
    from superset import (
  File "/usr/local/lib/python3.5/dist-packages/superset/sql_lab.py", line 12, in <module>
    from contextlib2 import contextmanager
ImportError: No module named 'contextlib2'
docker run -it -v $(pwd)/superset/config:/etc/superset -v $(pwd)/superset/SQLlite:/var/lib/superset -p8088:6000 amancevice/superset:latest

config:

ROW_LIMIT = 5000
SUPERSET_WEBSERVER_PORT = 8088

SECRET_KEY = '\2\secret\1\2\e\y\y\h'
SQLALCHEMY_DATABASE_URI = 'sqlite:////var/lib/superset/superset.db'

WTF_CSRF_ENABLED = True
WTF_CSRF_EXEMPT_LIST = []
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

MAPBOX_API_KEY = ''
HTTP_HEADERS = {}

ENABLE_PROXY_FIX = True
PREFERRED_URL_SCHEME = 'http'

Not able to connect to MySQL on another VM

I am using amancevice/superset docker container on ubuntu and running into the following problem that I have not able to fix.
After launching the container, when I exec superset-init in the container, it fails with an error = (2003, 'Can't connect to MySQL server on '192.128.1.211' (110 "Connection timed out")'), although the connection URI has the right values (* below) and seems to be of the right format as per sqlalchemy docs.

*I am able to connect to the database using the same parameters from a python test script from inside the container.

----------------------- What does not work ----------------------------------------------------------------
My db url in superset_config.py: (superset-init is not able to connect to the database)
SQLALCHEMY_DATABASE_URI = 'mysql://mydbuser:[email protected]/mydb'

I have also tried the following with the same results.
SQLALCHEMY_DATABASE_URI = 'mysql+mysqldb://mydbuser:[email protected]/mydb'

----------------------- What works ----------------------------------------------------------------
My testdb.py: (Works fine, prints out the list of users)

  #!/user/bin/python3
  import MySQLdb
  db = MySQLdb.connect(host="192.168.1.211", user="mydbuser",passwd="mypw",db="mydb")
  cursor = db.cursor()
  cursor.execute("SELECT * FROM user")
  for row in cursor.fetchall():
      print (row[0])
  db.close()

Bigquery support

Would you consider adding pybigquery, so this container could be used with google big query?

I believe that is the only necessary change, but haven’t had time to test it yet. It appears to be a documented backend for superset.

Celery worker throws error on startup

When trying to start a celery worker, I'm seeing this error:

2018-06-05 16:31:46,605:INFO:root:The 'superset worker' command is deprecated. Please use the 'celery worker' command instead.
Loaded your LOCAL configuration at [/etc/superset/superset_config.py]
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/kombu/transport/base.py", line 123, in __getattr__
    return self[key]
KeyError: 'async'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 15, in <module>
    manager.run()
  File "/usr/local/lib/python3.5/dist-packages/flask_script/__init__.py", line 417, in run
    result = self.handle(argv[0], argv[1:])
  File "/usr/local/lib/python3.5/dist-packages/flask_script/__init__.py", line 386, in handle
    res = handle(*args, **config)
  File "/usr/local/lib/python3.5/dist-packages/flask_script/commands.py", line 216, in __call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/superset/cli.py", line 334, in worker
    worker = celery_app.Worker(optimization='fair')
  File "/usr/local/lib/python3.5/dist-packages/celery/worker/worker.py", line 99, in __init__
    self.setup_instance(**self.prepare_args(**kwargs))
  File "/usr/local/lib/python3.5/dist-packages/celery/worker/worker.py", line 122, in setup_instance
    self.should_use_eventloop() if use_eventloop is None
  File "/usr/local/lib/python3.5/dist-packages/celery/worker/worker.py", line 241, in should_use_eventloop
    self._conninfo.transport.implements.async and
  File "/usr/local/lib/python3.5/dist-packages/kombu/transport/base.py", line 125, in __getattr__
    raise AttributeError(key)
AttributeError: async

It appears to be due to a breaking change from a celery dependency, which celery does not pin a version down to. Updating the celery version to 4.1.1 fixes the issue.

creating database on superset, NoneType object has no attribute name error is displayed

Trying to test connection to an instance of mysql server, but superset shows the following error:
screenshot from 2016-12-20 12-34-13; It says:

ERROR: Traceback (most recent call last): File "/usr/lib/python3.5/site-packages/superset/views.py", line 150, in wraps return f(self, *args, **kwargs) File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/decorators.py", line 51, in wraps if self.appbuilder.sm.has_access(permission_str, self.__class__.__name__): File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/manager.py", line 730, in has_access return self._has_view_access(g.user, permission_name, view_name) File "/usr/lib/python3.5/site-packages/flask_appbuilder/security/manager.py", line 721, in _has_view_access if (view_name == permission.view_menu.name) and (permission_name == permission.permission.name): AttributeError: 'NoneType' object has no attribute 'name'

version of image is: amancevice/superset:0.15.0

here is some extract of docker-compose.yml file:
superset: #build: . image: amancevice/superset:0.15.0 restart: always depends_on: - mysql - redis environment: SECRET_KEY: thisISaSECRET_1234 SQLALCHEMY_DATABASE_URI: mysql://superset:superset@mysql:3306/superset CACHE_CONFIG: "{\"CACHE_TYPE\": \"redis\", \"CACHE_DEFAULT_TIMEOUT\": 300, \"CACHE_KEY_PREFIX\": \"caravel_\", \"CACHE_REDIS_HOST\": \"redis\", \"CACHE_REDIS_PORT\": 6379, \"CACHE_REDIS_DB\": 1, \"CACHE_REDIS_URL\": \"redis://redis:6379/1\"}" ports: - "8088:8088"
networks:
- backend
- xx_frontend
- publicapp

actually in the previous version (amancevice/superset:0.14.1) it does works.
Connection string is given in the following format, and the superset service resolves the referenced host and port:

mysql://app_user:app_user@app_db:3306/app_db

superset init error

Hi,
I'm new to superset so don't if this is the right place to ask 😅

When running docker-compose exec superset superset-init I get next error:

2018-09-04 19:54:21,862:ERROR:flask_appbuilder.base:'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 469, in _add_permission
    self.sm.add_permissions_view(baseview.base_permissions, baseview.__class__.__name__)
  File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 819, in add_permissions_view
    if perm_view.permission.name not in base_permissions:
AttributeError: 'NoneType' object has no attribute 'name'
2018-09-04 19:54:21,888:ERROR:flask_appbuilder.base:Add Permission on View Error: 'NoneType' object has no attribute 'name'

It is something related with docker image configuration or superset project?

Thanks in advance

'superset runserver' command is deprecated. Please use the 'gunicorn' command instead

In the current dockerfile, "Superset runserver" is used in the ENTRYPOINT and CMD. Can this be upgraded to gunicorn as latest superset is throwing following warning.

'superset runserver' command is deprecated. Please use the 'gunicorn' command instead

Ofcourse, it is a warning.
But it will be helpful for many users of this docker instance.

[0.24.0] ImportError: No module named 'flask.exthook'

I'm getting an error with the latest container:

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 9, in <module>
    from flask.exthook import ExtDeprecationWarning
ImportError: No module named 'flask.exthook'
docker run -it -v $(pwd)/superset/config:/etc/superset -v $(pwd)/superset/SQLlite:/var/lib/superset -p8088:6000 amancevice/superset:0.24.0

config:

ROW_LIMIT = 5000
SUPERSET_WEBSERVER_PORT = 8088
SECRET_KEY = '\2\secret\1\2\e\y\y\h'

SQLALCHEMY_DATABASE_URI = 'sqlite:////var/lib/superset/superset.db'

WTF_CSRF_ENABLED = Truen
WTF_CSRF_EXEMPT_LIST = []
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

MAPBOX_API_KEY = ''
HTTP_HEADERS = {}

ENABLE_PROXY_FIX = True
PREFERRED_URL_SCHEME = 'http'

Note/Update: 0.23.3 is working fine

docker container is not runing

hello I try to user your docker images to build a superset demo ,and i run
"docker run --detach --name superset amancevice/superset" in bash ,then run "docker exec -it superset superset-init" but bash tell me the container is not runing . so I want to ask you how to do next (sorry I use docker only a few days and have some thing don‘t understand ,so please you criticize )

Making the example on the Readme repeatable for more users

This works out of the box with Github:

git clone https://github.com/amancevice/superset.git

As opposed to:

git clone [email protected]:amancevice/superset.git
Cloning into 'superset'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Move docker to non-internet connected host

Hope you are well. I am getting docker errors when I migrate a docker that is saved or exported. Is there an easy migration path to a non-internet connected host?

Here is the error when importing an exported
$ zcat superset.tar.gz | sudo docker import - superset FATA[0014] Error response from daemon: Driver devicemapper failed to create image rootfs 779e3c08e38a2fc93be9a6f7dcb2fe73c273a8bf5ce71dc574e1afc2a77ad298: Error running DeviceCreate (createSnapDevice) dm_task_run failed

Here is the error I see when I am loading from a saved docker
$ sudo docker load -i superset.tar FATA[0085] Error response from daemon: Driver devicemapper failed to create image rootfs 911f74f3e3709ee47bd4a2d6375509ddb961ad27e20f066a661dc2b4c8d3b573: Error running DeviceCreate (createSnapDevice) dm_task_run failed

New Databases aren't listed on SQL Lab > SQL Editor

After up and running a container with the last version of your Dockerfile (labelled "[0.20.5] Superset on Debian/Python3"), I just added a Clickhouse DataSource and it don't appear on the Database list.

SQLite error on init

I'm trying to use this image for the first time, but after execute superset-init command
docker exec -it superset superset-init
I'm using docker toolbox for windows
And I'm getting the error bellow:

Username [admin]:
User first name [admin]:
User last name [user]:
Email [[email protected]]:
Password:
Repeat for confirmation:
2018-02-23 19:54:33,521:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('UserDBModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 462, in _add_permission
self.sm.add_permissions_view(baseview.base_permissions, baseview.class.name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 786, in add_permissions_view
view_menu_db = self.add_view_menu(view_menu)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('UserDBModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:54:33,525:ERROR:flask_appbuilder.base:Add Permission on View Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('UserDBModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:54:51,036:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Permission on Views/Menus', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 277, in _add_permissions_menu
self.sm.add_permissions_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 823, in add_permissions_menu
self.add_view_menu(view_menu_name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Permission on Views/Menus', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:54:51,038:ERROR:flask_appbuilder.base:Add Permission on Menu Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Permission on Views/Menus', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:06,606:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Import Dashboards', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 277, in _add_permissions_menu
self.sm.add_permissions_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 823, in add_permissions_menu
self.add_view_menu(view_menu_name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Import Dashboards', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:06,608:ERROR:flask_appbuilder.base:Add Permission on Menu Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('Import Dashboards', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:19,375:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('DatabaseAsync', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 462, in _add_permission
self.sm.add_permissions_view(baseview.base_permissions, baseview.class.name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 786, in add_permissions_view
view_menu_db = self.add_view_menu(view_menu)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('DatabaseAsync', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:19,379:ERROR:flask_appbuilder.base:Add Permission on View Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('DatabaseAsync', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:24,417:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('CsvToDatabaseView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 462, in _add_permission
self.sm.add_permissions_view(baseview.base_permissions, baseview.class.name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 786, in add_permissions_view
view_menu_db = self.add_view_menu(view_menu)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('CsvToDatabaseView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:24,419:ERROR:flask_appbuilder.base:Add Permission on View Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('CsvToDatabaseView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:35,161:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('SliceAddView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 462, in _add_permission
self.sm.add_permissions_view(baseview.base_permissions, baseview.class.name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 786, in add_permissions_view
view_menu_db = self.add_view_menu(view_menu)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('SliceAddView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:35,162:ERROR:flask_appbuilder.base:Add Permission on View Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('SliceAddView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:42,790:ERROR:flask_appbuilder.base:(sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('LogModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/base.py", line 462, in _add_permission
self.sm.add_permissions_view(baseview.base_permissions, baseview.class.name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/manager.py", line 786, in add_permissions_view
view_menu_db = self.add_view_menu(view_menu)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 271, in add_view_menu
view_menu = self.find_view_menu(name)
File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/sqla/manager.py", line 260, in find_view_menu
return self.get_session.query(self.viewmenu_model).filter_by(name=name).first()
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2778, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2570, in getitem
return list(res)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2878, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('LogModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-02-23 19:55:42,791:ERROR:flask_appbuilder.base:Add Permission on View Error: (sqlite3.OperationalError) database is locked [SQL: 'SELECT ab_view_menu.id AS ab_view_menu_id, ab_view_menu.name AS ab_view_menu_name \nFROM ab_view_menu \nWHERE ab_view_menu.name = ?\n LIMIT ? OFFSET ?'] [parameters: ('LogModelView', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)

Superset container always restarting

Hi, I tried to run demo.sh here with mysql parameters and it crashed when the command docker-compose exec ... was given and show this error message:

Error response from daemon: Container 3e9f7c301b53417db5b703633f8d540ffdf6341e283e419f62021fe521fc3cf0 is restarting, wait until the container is running

I checked the containers working status and the superset container is always restarting, never gone up fully.

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                          PORTS               NAMES
3e9f7c301b53        amancevice/superset   "superset runserver"     16 minutes ago      Restarting (1) 42 seconds ago                       mysql_superset_1
93634e93af06        mysql                 "docker-entrypoint.s…"   17 minutes ago      Up 17 minutes                   3306/tcp            mysql_mysql_1
48fde5649b50        redis                 "docker-entrypoint.s…"   17 minutes ago      Up 17 minutes                   6379/tcp            mysql_redis_1

I would like to know how to solve this.

Update

I figure out that it can be happened because this part of docker-compose file:

  superset:
    image: amancevice/superset
    restart: always
    depends_on:
      - mysql
      - redis
    environment:
      MAPBOX_API_KEY: ${MAPBOX_API_KEY}
    ports:
      - "8088:8088"
    volumes:
      - ./superset_config.py:/etc/superset/superset_config.py

But I still don't know why, shoud I remove the parameter restart: always?

Thanks!

Admin user id and password?

Having started you docker container and opened the web UI, I can't find any instructions to explain the admin user id and password.

Where can I find these?

Issue with Version on setup

First time trying to get this going and am running into an error that I can't work around. I've tried upgrading everything involved (Docker, and pip) and still no love. I'm running a 12" Macbook 2015 w/ 8GB of RAM and macOS Sierra version 10.12.3.

Thoughts on what this could be?

superset $ docker-compose up -d redis mysql
WARNING: The MAPBOX_API_KEY variable is not set. Defaulting to a blank string.
superset_redis_1 is up-to-date
superset_mysql_1 is up-to-date
superset $ docker-compose up -d superset
WARNING: The MAPBOX_API_KEY variable is not set. Defaulting to a blank string.
Building superset
Step 1/12 : FROM amancevice/pandas:0.18.1-python3
 ---> 33d75b90e290
Step 2/12 : ENV SUPERSET_VERSION 0.16.0
 ---> Using cache
 ---> 557eed6d101f
Step 3/12 : RUN apk add --no-cache         curl         libffi-dev         cyrus-sasl-dev         mariadb-dev         postgresql-dev &&     pip3 install         superset==$SUPERSET_VERSION         mysqlclient==1.3.7         ldap3==2.1.1         psycopg2==2.6.1         redis==2.10.5         sqlalchemy-redshift==0.5.0
 ---> Running in 58ba35f06807
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/21) Upgrading libcrypto1.0 (1.0.2j-r0 -> 1.0.2k-r0)
(2/21) Upgrading libssl1.0 (1.0.2j-r0 -> 1.0.2k-r0)
(3/21) Installing ca-certificates (20161130-r0)
(4/21) Installing libssh2 (1.7.0-r0)
(5/21) Installing libcurl (7.52.1-r1)
(6/21) Installing curl (7.52.1-r1)
(7/21) Installing db (5.3.28-r0)
(8/21) Installing libsasl (2.1.26-r7)
(9/21) Installing cyrus-sasl-dev (2.1.26-r7)
(10/21) Installing libffi-dev (3.2.1-r2)
(11/21) Installing zlib-dev (1.2.8-r2)
(12/21) Installing openssl-dev (1.0.2k-r0)
(13/21) Installing mariadb-common (10.1.21-r0)
(14/21) Installing mariadb-client-libs (10.1.21-r0)
(15/21) Installing libaio (0.3.110-r0)
(16/21) Installing mariadb-libs (10.1.21-r0)
(17/21) Installing mariadb-dev (10.1.21-r0)
(18/21) Installing libldap (2.4.44-r1)
(19/21) Installing libpq (9.5.6-r0)
(20/21) Installing postgresql-libs (9.5.6-r0)
(21/21) Installing postgresql-dev (9.5.6-r0)
Executing busybox-1.24.2-r11.trigger
Executing ca-certificates-20161130-r0.trigger
OK: 491 MiB in 58 packages
Collecting superset==0.16.0
  Could not find a version that satisfies the requirement superset==0.16.0 (from versions: 0.12.0, 0.13.0, 0.13.1, 0.13.2, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.3, 0.15.4)
No matching distribution found for superset==0.16.0
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ERROR: Service 'superset' failed to build: The command '/bin/sh -c apk add --no-cache         curl         libffi-dev         cyrus-sasl-dev         mariadb-dev         postgresql-dev &&     pip3 install         superset==$SUPERSET_VERSION         mysqlclient==1.3.7         ldap3==2.1.1         psycopg2==2.6.1         redis==2.10.5         sqlalchemy-redshift==0.5.0' returned a non-zero code: 1
 superset $ 

SQL Lab doesn't support Chinese charcter

Version: 0.22.1

Problem: When querying with a Chinese character, it throws an error:

 Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context context) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 226, in execute self.errorhandler(self, exc, value) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler raise errorvalue File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 217, in execute res = self._query(query) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 378, in _query rowcount = self._do_query(q) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 341, in _do_query db.query(q) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 280, in query _mysql.connection.query(self, query) _mysql_exceptions.OperationalError: (1366, "Incorrect string value: '\\xE4\\xB8\\xAD\\xE6\\x96\\x87...' for column 'sql' at row 1") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1614, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1517, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise raise value File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/local/lib/python3.5/dist-packages/flask_appbuilder/security/decorators.py", line 52, in wraps return f(self, *args, **kwargs) File "/usr/local/lib/python3.5/dist-packages/superset/models/core.py", line 870, in wrapper value = f(*args, **kwargs) File "/usr/local/lib/python3.5/dist-packages/superset/views/core.py", line 2145, in sql_json session.flush() File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/session.py", line 2243, in flush self._flush(objects) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/session.py", line 2369, in _flush transaction.rollback(_capture_exception=True) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ compat.reraise(exc_type, exc_value, exc_tb) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise raise value File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/session.py", line 2333, in _flush flush_context.execute() File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/unitofwork.py", line 391, in execute rec.execute(self) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/unitofwork.py", line 556, in execute uow File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj mapper, table, insert) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/persistence.py", line 866, in _emit_insert_statements execute(statement, params) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute return meth(self, multiparams, params) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement compiled_sql, distilled_params File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context context) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception exc_info File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise raise value.with_traceback(tb) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context context) File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 226, in execute self.errorhandler(self, exc, value) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler raise errorvalue File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 217, in execute res = self._query(query) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 378, in _query rowcount = self._do_query(q) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 341, in _do_query db.query(q) File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 280, in query _mysql.connection.query(self, query) sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1366, "Incorrect string value: '\\xE4\\xB8\\xAD\\xE6\\x96\\x87...' for column 'sql' at row 1") [SQL: 'INSERT INTO query (client_id, database_id, tmp_table_name, user_id, status, tab_name, sql_editor_id, `schema`, `sql`, select_sql, executed_sql, `limit`, limit_used, select_as_cta, select_as_cta_used, progress, rows, error_message, results_key, start_time, start_running_time, end_time, end_result_backend_time, tracking_url, changed_on) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'] [parameters: ('ryEPtfXSM', 5, '', 1, 'running', 'Untitled Query', 'B15TbNMHf', 'aaa', "select 1 where '中文'='中文'", None, None, 1000000, 0, 0, 0, 0, None, None, None, 1516607857779.412, None, None, None, None, datetime.datetime(2018, 1, 22, 7, 57, 37, 783184))] (Background on this error at: http://sqlalche.me/e/e3q8) 
 

The query SQL:

SQL
select 1 where '中文'='中文'

We have met this problem when using python2.7, but after changing python version to 3.5, it's gone.

I think maybe it's the problem of DB connector's version. 


Update:
The Dashboard name can't be named with Chinese character either.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.