Advanced Configuration
Container Registry for Plugins
Supported Container Registries
- AWS ECR(with AK/SK or IRSA)/ Azure ACR / Aliyun ACR / Tencent TCR / Dockerhub
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
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 asimage-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.
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.
- 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.