Customizing the Runtime Environment
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.