Using a Private Docker Registry
For air-gapped environments or organizations with strict network policies, you can mirror all CrewAI Platform images to your private Docker registry. This guide covers pulling images from CrewAI’s registry and configuring the Helm chart to use your private registry.This guide covers container image mirroring. For air-gapped environments, you may also need to mirror the Python package index for crew builds. See the Private PyPI Registry Mirror guide.
Prerequisites
- Access to CrewAI’s Docker registry at
images.crewai.com - Your CrewAI Enterprise portal credentials (same as used for Helm registry authentication) or a service account https://enterprise.crewai.com/crewai/team-settings/service-accounts
- A private Docker registry (ECR, ACR, GCR, Harbor, etc.)
- Docker CLI installed and configured
Step 1: Authenticate to CrewAI Registry
Access your registry credentials via the CrewAI enterprise customer portal athttps://enterprise.crewai.com/crewai, or create a service account in the Team Settings section for automated access.
These are the same credentials used for Helm registry authentication. Replace
customer@company.com with your actual customer email and [YOUR_SECRET_TOKEN] with the token provided in the customer portal.Step 2: Pull Required Images
Pull all required images from the CrewAI registry. The exact versions should match your Helm chart version.Current Image List (Chart v0.1.13)
Version Alignment: The image versions shown above correspond to Helm chart v0.1.13.
Step 3: Tag Images for Your Registry
Tag the pulled images with your private registry URL:Step 4: Push Images to Your Registry
Partial Registry: Crew Images Only
If you only need crew-built images stored in your private registry (not platform images), you do not need to mirror the full image list above. UseCREW_IMAGE_REGISTRY_OVERRIDE only:
Step 5: Configure Helm Values
Update yourvalues.yaml to point to your private registry:
The
credHelper mechanism invokes an external binary at build time (used by BuildKit for crew image pushes). It does NOT enable kubelet to pull platform images — see ECR Authentication: credHelper vs Pod Identity / IRSA for the distinction.Using a Generic Private Registry
AWS ECR
Azure Container Registry
Automation Script
For convenience, use this script to automate the pull/tag/push process:mirror-images.sh, make it executable, and run:
Verification
After configuring your Helm values and deploying, verify the pods are pulling from your private registry:Troubleshooting
Image Pull Errors
If you seeImagePullBackOff errors:
- Verify registry credentials have been correctly set
- Ensure image names and tags match exactly
Related Documentation
- Private PyPI Registry Mirror — for mirroring Python packages
- Installation Guide
- Requirements
- Post-Installation
