---
description: "Guide to creating and managing custom Docker environments for specialized video curation pipeline requirements"
categories: ["video-curation"]
tags: ["customization", "docker", "environments", "pipeline", "deployment", "advanced"]
personas: ["mle-focused", "devops-focused"]
difficulty: "advanced"
content_type: "tutorial"
modality: "video-only"

---

# Add Custom Environment

Learn how to package dependencies for NeMo Curator using a container image.

The NeMo Curator container provides a primary `curator` conda environment with pre-installed dependencies. If your pipeline needs additional system or Python packages, create a custom image. Refer to the [container environments](/reference/infra/container-environments) reference for defaults and build arguments.

## Before You Start

Before you begin, make sure that you have:

* Reviewed the [pipeline concepts and diagrams](/about/concepts/video).  
* A base container image suitable for NeMo Curator.  
* Optionally [created custom code](/curate-video/tutorials/pipeline-customization/add-cust-code) that defines your new requirements.  

---

## How to Add Dependencies with a Dockerfile

### Define Build Steps

1. Create an `environments` directory anywhere on your system to organize your custom pipeline stage environments.  
2. Create a new folder for your environment, for example: `my-env/`.
3. Create a `Dockerfile` that installs your environment's dependencies on top of the base image.

   ```dockerfile
   FROM <your-base-image>

   # System deps
   RUN apt-get update && apt-get install -y --no-install-recommends \
       wget git && rm -rf /var/lib/apt/lists/*

   # Python deps (prefer aligning with pyproject optional extras)
   # Example: install video stacks used by NeMo Curator
   RUN pip install --no-cache-dir \
       av==13.1.0 opencv-python einops easydict

   # Optional: CV-CUDA (choose wheel that matches your CUDA/Python)
   # RUN pip install cvcuda_cu12

   # Optional: vLLM / FlashAttention (see platform markers in pyproject)
   # RUN pip install vllm==0.9.2 flash-attn&lt;=2.8.3

   # Copy your code if needed
   COPY . /workspace
   WORKDIR /workspace
   ```

4. Save the file.

### Build the Container

Build and tag your image using Docker or your preferred tool:

```bash
docker build -t my-ray-curator:latest .
```

## Next Steps

Now that you have created a custom environment, you can [create custom code](/curate-video/tutorials/pipeline-customization/add-cust-code) for that environment.
