The following features available in Dash Enterprise 4.X are not supported in 5.X or behave differently:
Dash Enterprise upgrades: Because Dash Enterprise 5 is built on a completely new architecture, it is not possible to upgrade from 4.X to 5.X using an Upgrade button. Migrating to Dash Enterprise 5 instead requires a new installation and a customized migration script. Customer Success will reach out to you with more details.
User management and authentication: Dash Enterprise 5 introduces Keycloak to help administrators manage users and configure user authentication. Configurations that you set up in Dash Enterprise 4, including any identity provider integrations, do not carry over to Dash Enterprise 5. To set up authentication in Dash Enterprise 5, you need to use Keycloak.
Self-service seat license allocation: In Dash Enterprise 4, certain user actions like initializing an app or visiting the documentation trigger a seat license assignment. In Dash Enterprise 5, administrators need to assign license seats to users in advance.
Memory usage and limits: Dash Enterprise 5.X comes with a licensed memory limit. Administrators can use a default memory limit to apply to all resources on the system (app processes, workspaces, and managed databases) or set custom memory limits per resource. The default memory limit cannot exceed 10 GiB, and custom memory limits cannot exceed 24 GiB. See Memory Limits for more information.
Directory mapping and mounts: Directory mapping is not available in Dash Enterprise 5.X, but you can achieve similar results with a persistent filesystem. The persistent filesystem feature in Dash Enterprise 5.X works differently than directory mapping in Dash Enterprise 4.X:
See Persistent Filesystem for more information.
Dash Enterprise packages URL: Dash Enterprise packages like Dash Design Kit are available at a different URL. This URL is available in the package installation documentation that comes with Dash Enterprise.
Default Python version: The default Python version for deployed pip-based apps and workspaces in Dash Enterprise 5.X is as follows:
Dash Enterprise 5.5.X and later: Python version selected in the Dash Enterprise Admin Settings
runtime.txt
: Replaced by project.toml
in Dash Enterprise 5.X.
In Dash Enterprise 5.0.0 to 5.4.X, use project.toml
to override the default Python version:
python
[build]
[[build.env]]
name = 'BP_CPYTHON_VERSION'
value = '3.6.*' # any valid semver constraints (e.g. 3.6.7, 3.*) are acceptable
Known issue: In Dash Enterprise < 5.2.X, it is not possible to use environment variables like the one above to customize the build behavior in workspaces. If you customize the Python version for your deployed app, the same app will still use Python 3.8.12 (Dash Enterprise 5.0.0 and 5.1.0) or Python 3.8.16 (Dash Enterprise 5.1.1) if you preview it in workspaces.
In Dash Enterprise 5.5.X and later, overriding the default Python version is done in Dash Enterprise directly by going to the App Info > Settings.
BP_PIP_VERSION
environment variable). Workspaces default to:Dash Enterprise 5.2.X, 5.3.X, 5.4.X, 5.5.X, and 5.6.X: pip 21.2.4
conda-requirements.txt
: Replaced by environment.yml
(Conda-native) in Dash Enterprise 5.X.
Learn how to generate an environment.yml
file.
apt-packages
: Replaced by Aptfile
in Dash Enterprise 5.X. Aptfile
includes the equivalent functionality of apt-packages
, apt-repositories
, and dpkg-packages
.
app.json
: Replaced by project.toml
in Dash Enterprise 5.X. Add predeploy and/or postdeploy scripts under [SCRIPTS]
:
toml
[scripts]
predeploy = "predeploy.sh"
postdeploy = "postdeploy.sh"
Predeploy scripts: If upgrading to Dash Enterprise 5.2 or later, any predeploy script that installs system-level dependencies needs to be updated to use sudo
. For example, the following script that installs the ODBC driver
txt
cp /app/odbc.ini /etc/odbc.ini
cp /app/odbcinst.ini /etc/odbcinst.ini
would need to be updated to
txt
sudo cp /app/odbc.ini /etc/odbc.ini
sudo cp /app/odbcinst.ini /etc/odbcinst.ini
Base OS: In Dash Enterprise 5.2 and later, apps and workspaces use Ubuntu 22, which may not be supported by older drivers. If your apps depend on drivers, you may need change their versions in order for your apps to continue working with Dash Enterprise. Notably, msodbcsql
must be upgraded to v17.10.5.1 for compatibility with Ubuntu 22.
DOKKU_SCALE
: No longer needed in Dash Enterprise 5.X (DOKKU_SCALE
was commonly used to start worker
processes in Dash Enterprise 4.X, but with 5.X, worker
processes start by default). Scale processes by going to the App Info > Scale > Edit Resources. Any existing DOKKU_SCALE
files will be ignored as of 5.X. No changes are needed if your Procfile
includes web processes only.
GraphQL API: The GraphQL API in Dash Enterprise 5.X will not be compatible with that of Dash Enterprise 4.X.
dokku
CLI for managing Dash apps: Not supported in Dash Enterprise 5.X. Dash Enterprise 5 runs and schedules with a new event-based backend architecture rather than dokku
.
git push plotly master
command: Replaced by git push plotly main
in Dash Enterprise 5.X. If you are working off master
, then you can use git push plotly master:main
.
SSH port: By default, Dash Enterprise 5.X uses the standard port 22 for SSH deploys. You may need to adjust your SSH config:
No change is required if you are deploying using the Dash Enterprise CLI (Dash Enterprise 5.2.X and later) because it uses HTTPS.
For a guide on adapting apps deployed to Dash Enterprise 4.X to make them compatible with Dash Enterprise 5.X, see DE4 to DE5 Migration.