GitHub user dosubot[bot] added a comment to the discussion: Production deployment issue in
<!-- Answer --> You can and should include all drivers—PostgreSQL (psycopg2-binary), Redis (redis), and MSSQL (pyodbc + msodbcsql)—in a single Dockerfile for your Superset production image. This is the recommended pattern for Kubernetes/AKS and avoids runtime install issues [source](https://github.com/apache/superset/blob/057218d87ff3f2c8d2eb4a89d31a2b50e8a5c606/docs/docs/configuration/databases.mdx). Here’s a sample Dockerfile that covers all three: ```dockerfile FROM apache/superset:4.1.2 USER root # Install system dependencies for PostgreSQL and MSSQL RUN apt-get update && \ apt-get install -y build-essential libpq-dev unixodbc-dev curl gnupg && \ # Add Microsoft repo for ODBC Driver 18 curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ curl https://packages.microsoft.com/config/debian/12/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ apt-get update && \ ACCEPT_EULA=Y apt-get install -y msodbcsql18 && \ pip install --no-cache-dir redis psycopg2-binary pyodbc && \ apt-get clean USER superset ``` - This installs all required system and Python packages in one image. - No need for separate images or Dockerfiles. - After building and pushing, set your Helm values.yaml to use this image and tag. - You can verify the drivers are present with `pip freeze` and `python -c 'import pyodbc, psycopg2, redis'` inside the container. If you need to support other databases, just add their system and Python drivers in the same RUN block. For the MSSQL connection string, use the `odbc_connect` pattern and URL-encode the full ODBC string as shown in the [docs](https://github.com/apache/superset/blob/057218d87ff3f2c8d2eb4a89d31a2b50e8a5c606/docs/docs/configuration/databases.mdx). Let me know if you need a full example for values.yaml or run into any build errors! <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/1a7b0768-9030-4d61-8d1e-1840c5bfdd49?feedback_type=other)</sup> [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33957) GitHub link: https://github.com/apache/superset/discussions/33957#discussioncomment-13631452 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
