2023-12-11 18:22:16 +01:00

47 lines
1.3 KiB
Docker

# Superset image with additional database drivers
# https://hub.docker.com/r/apache/superset
# https://github.com/apache/superset/releases
# https://github.com/apache/superset/blob/master/Dockerfile
# https://superset.apache.org/docs/databases/installing-database-drivers
FROM docker.io/apache/superset:3.0.1
USER root
# https://pypi.org/project/clickhouse-driver/
# https://pypi.org/project/mysqlclient/
# https://pypi.org/project/clickhouse-connect/
# https://pypi.org/project/clickhouse-sqlalchemy/
# https://pypi.org/project/Authlib/
# We preserve the clickhouse-sqlalchemy package to keep backward compatibility with existing dashboards
RUN apt-get update \
&& apt-get install -y \
pkg-config
RUN --mount=type=cache,target=/root/.cache/pip,sharing=shared pip install \
clickhouse-driver==0.2.6 \
mysqlclient==2.2.0 \
clickhouse-connect==0.6.20 \
clickhouse-sqlalchemy==0.2.4 \
authlib==1.2.1
USER superset
# Copy lib
COPY --chown=superset:superset ./cairn /app/superset/cairn
# This is required to have a proper healthcheck
ENV SUPERSET_PORT=8000
ENTRYPOINT []
CMD gunicorn \
--bind "0.0.0.0:8000" \
--access-logfile '-' \
--error-logfile '-' \
--workers 2 \
--worker-class gthread \
--threads 20 \
--timeout 60 \
--limit-request-line 0 \
--limit-request-field_size 0 \
"${FLASK_APP}"