日本語 | English | 简体中文 | Français
Un projet pour déployer une plateforme Dify privée sur votre infrastructure cloud en utilisant Infrastructure as Code.
Ce projet fournit des solutions Infrastructure as Code pour déployer Dify dans un environnement cloud privé, avec une gestion sécurisée optionnelle des états via Terraform Cloud.
- Configuration automatisée de la plateforme Dify sur les plateformes cloud
- Infrastructure as Code utilisant Terraform
- (Optionnel) Gestion sécurisée des états avec Terraform Cloud
- Conçu pour une utilisation organisationnelle
- Architecture indépendante de la plateforme
- Authentification sécurisée utilisant Workload Identity Federation (pas d'informations d'identification statiques)
- Administrateurs d'infrastructure
- Organisations cherchant des solutions IaC pour le déploiement de Dify
- Équipes utilisant Terraform
- Équipes intéressées par la gestion des états via Terraform Cloud (optionnel)
Pour les détails de l'architecture, veuillez consulter la section Architecture de la version anglaise.
Ce dépôt contient les composants suivants :
-
Configuration Terraform pour Google Cloud
- Implémentation IaC pour Dify sur Google Cloud
- Implémentation de référence actuelle
- Instructions détaillées de déploiement
- Directives de configuration
-
Configuration des Identifiants Dynamiques Terraform
- Intégration optionnelle avec Terraform Cloud
- Gestion sécurisée des identifiants
- Automatisation de la gestion des états
-
Clonez ce dépôt et effectuez la configuration initiale :
# Initialisation et connexion à gcloud gcloud init --no-launch-browser gcloud auth application-default login # Créer un bucket GCS pour la gestion d'état gsutil mb gs://your-tfstate-bucket
-
Spécifiez le bucket de gestion d'état dans
dify-google-cloud-terraform/terraform/environments/dev/provider.tf
:backend "gcs" { bucket = "your-tfstate-bucket" # Remplacez par votre nom de bucket prefix = "dify" }
-
Modifiez les valeurs de configuration requises dans
dify-google-cloud-terraform/terraform/environments/dev/terraform.tfvars
-
Suivez les étapes 2 à 6 du Guide de Démarrage de dify-google-cloud-terraform
-
Prérequis
- Créer un projet Google Cloud
- Créer une Organisation, un Projet et un Workspace dans Terraform Cloud
-
Clonez ce dépôt et modifiez les fichiers de configuration
# Configuration pour le déploiement Dify # Changez uniquement le `project_id` vim dify-google-cloud-terraform/terraform/environments/dev/terraform.tfvars # Configuration pour l'authentification Terraform Cloud vim terraform-dynamic-credentials-setup/gcp/terraform.tfvars
-
Committez les changements et poussez vers le dépôt
-
Configurez le Workspace dans Terraform Cloud
- Sélectionnez Version Control Workflow
- Connectez-vous au VCS et spécifiez le dépôt cloné
- Définissez le Working Directory à
dify-google-cloud-terraform/terraform/environments/dev
-
Clonez le dépôt dans Google Cloud Shell et configurez l'authentification
git clone <url-de-votre-dépôt> cd <nom-du-dépôt>/terraform-dynamic-credentials-setup # Connexion à Terraform Cloud terraform login # Configuration de Workload Identity Federation cd gcp terraform plan terraform apply
-
Suivez les étapes 2 à 4 de la section Guide de Démarrage de dify-google-cloud-terraform pour construire et pousser l'image Docker
-
Exécutez Run dans Terraform Cloud
- Confirmez que le Plan s'exécute automatiquement
- Approuvez l'Apply
Pour des instructions détaillées, consultez terraform-dynamic-credentials-setup.
Actuellement implémenté :
- Google Cloud Platform
Support prévu pour :
- Azure
- AWS
- Autres fournisseurs cloud majeurs
Les contributions pour ajouter le support de plateformes cloud supplémentaires sont les bienvenues. Veuillez suivre les modèles d'implémentation existants et les normes de documentation.
Ce projet intègre du code des projets open-source suivants :
-
dify-google-cloud-terraform par DeNA (Licence MIT)
- Fournit l'implémentation de base pour le déploiement sur Google Cloud
- Situé dans
./dify-google-cloud-terraform/
-
terraform-dynamic-credentials-setup-examples par HashiCorp (Licence MPL-2.0)
- Fournit l'implémentation pour la gestion sécurisée des identifiants
- Situé dans
./terraform-dynamic-credentials-setup/
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.