This guide can help you if your organization has upgraded from Dash Enterprise 4.X to Dash Enterprise 5.X
and you need to redeploy Dash apps that you previously deployed to Dash Enterprise 4.X.
Some DE4 features are not supported in DE5 and other features work differently,
meaning in many cases you’ll need to make some updates to your DE4 apps for them to run on DE5.
For example, although both DE4 and DE5 support pip and Conda buildpacks, the buildpacks use some different files in DE5.
Key differences in DE5
- Different default Python, pip, and Miniconda versions.
- For Conda apps, dependencies are now specified in an environment.yml
file,
instead of with conda-requirements.txt
and requirements.txt
. A requirements.txt
file prevents Conda-based dependencies from being installed.
- Changing the Python version is now done via a project.toml
file instead of runtime.txt
. In Conda,
the Python version can be set in environment.yml
.
- Different URL for Dash Enterprise packages (you’ll need to change any --extra-index-url
s).
- APT packages are now installed using one Aptfile
.
- Pre-deploy and post-deploy scripts are configured in project.toml
instead of app.json
.
See also: Dash Enterprise 5.0 Breaking Changes.
Note for admins migrating apps on behalf of developers
In order to do the migration work on behalf of a developer and have them retain ownership of the apps,
we recommend creating a new user
with a license seat.
Log in with the user’s credentials and initialize, migrate, and deploy the apps.
When you’re done, share the credentials with the developer and set their password to Temporary so that
they’ll be prompted to change it.
To change your app files and structure, you can either:
- Upload your existing DE4 app files to Workspaces and try running the app. If it doesn’t run, follow this guide to update it.
- Make the updates outlined here locally and then deploy the updated app to DE5.
dash-enterprise-auth
prior to 0.0.6
are not supported in DE5.dash-enterprise-auth
and have it pinned to a specific version,dash-enterprise-auth>=0.0.6
.dash-snapshots
prior to 2.2.1
are not supported in DE5.dash-snapshots
and have it pinned to a specific version,dash-snapshots>=2.2.1
.We recommend updating all Dash packages to their latest versions.
In your local environment or workspace, try the following:
Reduce your requirements.txt
file (or environment.yml
file if using Conda) to the minimal dependencies your app needs (excluding subdependencies).
If reducing your dependencies doesn’t work, remove version numbers from your requirements.txt
or environment.yml
file.
If you continue to experience issues after trying both of the above, reinstall requirements one by one in the terminal.
As with DE4, DE5 provides managed Postgres and Redis services. A key difference between services in DE4 and DE5 is
that in DE5 services are app-specific, meaning a Redis or Postgres service you add to an app can only be used
by that app.
For details on how to add Redis and Postgres to an app, see:
If your DE4 apps relied on environment variables, you’ll need to add those environment variables in DE5.
The process is similar in DE5. See Adding Environment Variables
for full details on adding environment variables.
If you use local directory mappings for files for your DE4 app,
save these files to your DE5 app’s persistent filesystem.
You can reference files in an app’s persistent filesystem in your code with '../mount/<file-name>'
.
See the Persistent Filesystem chapter for more details and examples.