Custom Docker Images
Custom Docker Images
Vellum Workflows are designed to run in a sandboxed environment. By default, the Vellum Python SDK uses a default Docker Image to run Workflows generated by the UI and pushed by the user from the CLI. However, sometimes you may want to use pre-existing logic from the rest of your repository, or some bespoke binaries that don’t translate well to the currently supported Vellum SDK languages. In these cases, you can use a custom Docker Image to run your Workflow.
Configuring a Custom Docker Image
To configure a custom Docker Image for a Vellum Workflow, you should first create a Dockerfile in the root of your project.
There are few important things to note about this Dockerfile:
- You must inherit from the
vellumai/python-workflow-runtime
image in order to run the Workflow on our infrastructure. - You have the flexibility to add any other dependencies you need to the image.
- The
vellum_start_server
command is required to start the Vellum Server.
Once you have your Dockerfile, you can push it to a container registry:
Then, you can give Vellum access to the image by pushing it via the Vellum CLI:
Once you’ve pushed the image, you can configure your Vellum Workflow to use the custom Docker Image by adding the following to your pyproject.toml
file:
This will tell Vellum to use the custom Docker Image when running the defined Workflow.