Skip to main content

Supported Container Registries

  • AWS ECR(with AK/SK or IRSA)/ Azure ACR / Aliyun ACR (with AK/SK) / Tencent TCR (with AK/SK) / Dockerhub / Google Artifact Registry

Why Container Registry is Required

  • Dify Enterprise requires a container registry to store and manage plugin images.
  • The package of plugin is not a Docker image, but a compressed file that contains the plugin code and metadata.
  • When run on Kubernetes cluster, the package of plugin will be built into a Docker image, which is why a container registry is required.

Display Helm Chart Values

This is an example of the Container Registry configuration in the Helm chart values.

How to Configure Container Registry

  1. imageRepoSecret (Required): This is a Kubernetes secret that contains the credentials for accessing the container registry.
    • 1.1 Warning: The value of imageRepoSecret is fixed as image-repo-secret, which is the name of the Kubernetes secret that will be created during the deployment.
    • 1.2 Save the following script as generate-image-repo-secret.sh.
    • 1.3 Set Execution Permission.
    • 1.4 Execute script to create Kubernetes secret.
  • imageRepoPrefix (Required): The prefix for the image repository, which is used to push the plugin images to the container registry.
  • imageRepoType (Required): The type of the container registry.
    • docker (Default): For Docker Hub or other Docker-compatible registries.
    • ecr: For AWS ECR.
  • ecrRegion (Optional): The region of the AWS ECR registry, if applicable.
  • insecureImageRepo (Optional): If your image repo is not using https protocol, set this to true.

Scheduling of Kubernetes for plugin pods

  • The plugin pods of (nodeSelector、affinity、tolerations、labels) are extended from the plugin_connector service.

How to configure if your country has network restrictions

If your network failed to access docker.io, you can use a custom image repository.
  1. The list of images that need to be replaced:
  • gatewayImage: The image for the plugin gateway service.
  • shaderImage: The shader image used during plugin build.
  • busyBoxImage: The busybox image used during plugin runtime.
  • awsCliImage: The image for the AWS CLI. If you are not using AWS, ignore this image.
  • python3.xx: The base image for the plugin build.
  1. Syncing images to your private registry.