Skip to main content
Morph allows you to customize the runtime environment on Morph Cloud by editing the Dockerfile in your project.

Default Dockerfile Structure

The Dockerfile generated by the morph new command is structured as follows:
The reserved word MORPH_TASK_ROOT is a required environment variable for pip install to function correctly. Unless you have a specific reason, do not modify it.

Adding Packages

You can add any OS-level packages you need by updating your project’s Dockerfile. Morph Cloud base images are built on Debian Linux. Package installation can be done using the apt-get command. For example, to install the curl package using apt-get:
To reduce the final image size, we recommend running apt-get clean after installing packages to remove unnecessary files.

Changing the Python Version

When you create a project with the morph new command, you can choose from Python 3.9, 3.10, 3.11, or 3.12. The version you select is reflected in the automatically generated configuration files so that the deployed application uses the same Python version.
The chosen Python version is also reflected in the project’s configuration files (like the Dockerfile), which you can further customize as needed.

Changing the Python Version After Deployment

If you need to change the Python version for your deployed environment later, update the base image tag in your project’s Dockerfile and redeploy. Example: Using the Python 3.12 image
In this way, you can switch from python3.9 to any other version supported by Morph.