Using Code Studios for custom webapps

Dataiku already offers rich support for webapps with Dash, Shiny, Bokeh and streamlit natively supported. The release of code studios as a feature also helps with webapps since now we can develop webapps with custom environments and packages by suitably configuring the "Append to Dockerfile" Definition section and exposing the appropriate port.

However, we don't currently have the option of using a completely custom dockerfile. The Dockerfile definition in Code Studios starts with:

FROM dku-exec-base-*:dss-12.1.0

The image comes with some libraries and packages that are incompatible with some specific apps we have developed locally using frameworks such as voila. Understanding the incompatibilities, changing the package versions and/or creating new environments is a time consuming engineering effort. Moreover, it may need to be updated for each DSS release as the base image might change.

I suggest allowing a code studio that enables the use of a completely custom Dockerfile. In combination with the Add an Entrypoint feature, this will practically allow the use of any framework/template for webapps and make migration of apps that may currently be housed in different products/environments to Dataiku significantly easier.

I understand that this specific use case will not enable the use of code studio as an IDE, so perhaps this feature can be packaged under webapps instead of code studios.

 

yashpuranik
1 Comment
williamwirono
Level 2

To add some flavor to what @yashpuranik has mentioned above, I experienced an issue in which I have an app that is currently running in a local Jupyter Notebook via a Docker container. The notebook consists of several ipywidgets elements which generates some plots based on a File Upload mechanism. This app runs fine as is. However, when I tried replicating the same Docker container settings within Dataiku's Code Studios - 'Append to Dockerfile', the app did not want to render correctly (i.e. certain ipywidgets buttons and capabilities are not working properly). Having the ability to create a custom Docker image from scratch in Dataiku will definitely help overcome incompatibilities between Dataiku's existing packages and those listed in the user's Dockerfile.

To add some flavor to what @yashpuranik has mentioned above, I experienced an issue in which I have an app that is currently running in a local Jupyter Notebook via a Docker container. The notebook consists of several ipywidgets elements which generates some plots based on a File Upload mechanism. This app runs fine as is. However, when I tried replicating the same Docker container settings within Dataiku's Code Studios - 'Append to Dockerfile', the app did not want to render correctly (i.e. certain ipywidgets buttons and capabilities are not working properly). Having the ability to create a custom Docker image from scratch in Dataiku will definitely help overcome incompatibilities between Dataiku's existing packages and those listed in the user's Dockerfile.