Some resources:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-essential libssl-dev libffi-dev python-dev python3-dev python-pip libsasl2-dev libldap2-dev python3-pip python3-venv curl default-libmysqlclient-dev freetds-dev freetds-bin libldap2-dev libpq-dev
$ sudo apt install python3-venv
$ python3 -m venv venv
$ . venv/bin/activate
(venv) $ pip install --upgrade setuptools pip
(venv) $ pip install -r requirements.txt -U
(venv) $ vim superset_config.py
(venv) $ vim .profile # add export SUPERSET_CONFIG_PATH=/home/superset
(venv) $ cp superset.db .superset/ # load existing configurations
(venv) $ superset db upgrade
(venv) $ superset init
superset
werkzeug
flask-cors
flask-mail
flask-oauth
flask_oauthlib
impyla
gevent
mysqlclient
pymssql
psycopg2
pyathena
pyhive
pyldap
redis
sqlalchemy-redshift
sqlalchemy-clickhouse
sqlalchemy-redshift
mysqlclient
psycopg2
pymssql
ROW_LIMIT = 5000
SUPERSET_WEBSERVER_PORT = 8888
SECRET_KEY = 'secret_key'
SQLALCHEMY_DATABASE_URI = 'sqlite:////home/superset/.superset/superset.db'
WTF_CSRF_ENABLED = True
WTF_CSRF_EXEMPT_LIST = []
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
MAPBOX_API_KEY = ''
SUPERSET_WEBSERVER_TIMEOUT = 60
SQLLAB_TIMEOUT = 60
SQLLAB_ASYNC_TIME_LIMIT_SEC = 60 * 60 * 6
$ sudo apt install nginx
sudo vim /etc/systemd/system/superset.service
Add this lines:
[Unit]
Description=Supserset
After=network.target
[Service]
PermissionsStartOnly=true
PIDFile=/run/superset/superset.pid
User=superset
Group=superset
WorkingDirectory=/home/superset
ExecStartPre=/bin/mkdir /run/superset
ExecStartPre=/bin/chown -R superset:superset /run/superset
ExecStart=/home/superset/venv/bin/gunicorn superset:app \
--pid /run/superset/superset.pid \
--bind 0.0.0.0:8888 \
-w 10 -k gevent --timeout 120 \
--limit-request-line 0 \
--limit-request-field_size 0
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
ExecStopPost=/bin/rm -rf /run/superset
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Reload systemd configuration
sudo systemctl daemon-reload
sudo vim /etc/nginx/sites-enabled/default
Add proxy_pass ...
...
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
proxy_pass http://0.0.0.0:8888;
}
...
sudo systemctl start superset.service
sudo systemctl stop superset.service
sudo systemctl status superset.service
Resize LVM partition inside a VMWare box:
# lvresize --resizefs --size +2GB /dev/ubuntu-vg/ubuntu-lv