Skip to content

This fork of the Dify repository is tailored to deploy Dify in a scalable, cloud-based environment using Docker and AWS.

License

Notifications You must be signed in to change notification settings

stevenknowswhy/dify-docker-aws

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,980 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cover-v5-optimized

📌 Introducing Dify Workflow File Upload: Recreate Google NotebookLM Podcast

Dify Cloud · Self-hosting · Documentation · Enterprise inquiry

Static Badge Static Badge chat on Discord follow on X(Twitter) Docker Pulls Commits last month Issues closed Discussion posts

README in English 简体中文版自述文件 日本語のREADME README en Español README en Français README tlhIngan Hol README in Korean README بالعربية Türkçe README README Tiếng Việt

Dify is an open-source LLM app development platform. Its intuitive interface combines agentic AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.

Quick start

Before installing Dify, make sure your machine meets the following minimum system requirements:

  • CPU >= 2 Core
  • RAM >= 4 GiB

The easiest way to start the Dify server is through docker compose. Before running Dify with the following commands, make sure that Docker and Docker Compose are installed on your machine:

cd dify
cd docker
cp .env.example .env
docker compose up -d

After running, you can access the Dify dashboard in your browser at http://localhost/install and start the initialization process.

Seeking help

Please refer to our FAQ if you encounter problems setting up Dify. Reach out to the community and us if you are still having issues.

If you'd like to contribute to Dify or do additional development, refer to our guide to deploying from source code

Key features

1. Workflow: Build and test powerful AI workflows on a visual canvas, leveraging all the following features and beyond.

optimized_workflow_intro.mp4

2. Comprehensive model support: Seamless integration with hundreds of proprietary / open-source LLMs from dozens of inference providers and self-hosted solutions, covering GPT, Mistral, Llama3, and any OpenAI API-compatible models. A full list of supported model providers can be found here.

providers-v5

3. Prompt IDE: Intuitive interface for crafting prompts, comparing model performance, and adding additional features such as text-to-speech to a chat-based app.

4. RAG Pipeline: Extensive RAG capabilities that cover everything from document ingestion to retrieval, with out-of-box support for text extraction from PDFs, PPTs, and other common document formats.

5. Agent capabilities: You can define agents based on LLM Function Calling or ReAct, and add pre-built or custom tools for the agent. Dify provides 50+ built-in tools for AI agents, such as Google Search, DALL·E, Stable Diffusion and WolframAlpha.

6. LLMOps: Monitor and analyze application logs and performance over time. You could continuously improve prompts, datasets, and models based on production data and annotations.

7. Backend-as-a-Service: All of Dify's offerings come with corresponding APIs, so you could effortlessly integrate Dify into your own business logic.

Using Dify

  • Cloud
    We host a Dify Cloud service for anyone to try with zero setup. It provides all the capabilities of the self-deployed version, and includes 200 free GPT-4 calls in the sandbox plan.

  • Self-hosting Dify Community Edition
    Quickly get Dify running in your environment with this starter guide. Use our documentation for further references and more in-depth instructions.

  • Dify for enterprise / organizations
    We provide additional enterprise-centric features. Log your questions for us through this chatbot or send us an email to discuss enterprise needs.

    For startups and small businesses using AWS, check out Dify Premium on AWS Marketplace and deploy it to your own AWS VPC with one-click. It's an affordable AMI offering with the option to create apps with custom logo and branding.

Staying ahead

Star Dify on GitHub and be instantly notified of new releases.

star-us

Advanced Setup

If you need to customize the configuration, please refer to the comments in our .env.example file and update the corresponding values in your .env file. Additionally, you might need to make adjustments to the docker-compose.yaml file itself, such as changing image versions, port mappings, or volume mounts, based on your specific deployment environment and requirements. After making any changes, please re-run docker-compose up -d. You can find the full list of available environment variables here.

If you'd like to configure a highly-available setup, there are community-contributed Helm Charts and YAML files which allow Dify to be deployed on Kubernetes.

Using Terraform for Deployment

Deploy Dify to Cloud Platform with a single click using terraform

Azure Global
Google Cloud

Contributing

For those who'd like to contribute code, see our Contribution Guide. At the same time, please consider supporting Dify by sharing it on social media and at events and conferences.

We are looking for contributors to help with translating Dify to languages other than Mandarin or English. If you are interested in helping, please see the i18n README for more information, and leave us a comment in the global-users channel of our Discord Community Server.

Community & contact

  • Github Discussion. Best for: sharing feedback and asking questions.
  • GitHub Issues. Best for: bugs you encounter using Dify.AI, and feature proposals. See our Contribution Guide.
  • Discord. Best for: sharing your applications and hanging out with the community.
  • X(Twitter). Best for: sharing your applications and hanging out with the community.

Contributors

Star history

Star History Chart

<title>Dify on AWS - Customized Deployment</title> Dify Cover Image

📌 Introducing Dify Workflow File Upload: Recreate Google NotebookLM Podcast

Dify Cloud · Self-hosting · Documentation · Enterprise inquiry

Static Badge

README in English

Dify is an open-source LLM app development platform. Its intuitive interface combines agentic AI workflow, RAG pipeline, agent capabilities, model management, observability features, and more, letting you quickly go from prototype to production.

Quick Start

Before installing Dify, make sure your machine meets the following minimum system requirements:

  • CPU >= 2 Core
  • RAM >= 4 GiB

The easiest way to start the Dify server is through docker compose. Before running Dify, make sure that Docker and Docker Compose are installed on your machine:

    
      cd dify
      cd docker
      cp .env.example .env
      docker compose up -d
    
  

After running, you can access the Dify dashboard in your browser at http://localhost/install and start the initialization process.

AWS Customized Deployment

This fork is designed for users who want to deploy Dify in a scalable, cloud-based environment using AWS and Docker. Below is a step-by-step guide to setting up Dify on AWS:

1. Prerequisites

Ensure you have the following installed and configured:

  • Docker and Docker Compose (for local testing)
  • An AWS account
  • AWS CLI configured with necessary permissions

2. Clone and Customize the Repository

Clone this forked repository, which includes AWS-specific configurations:

    
      git clone https://github.com/yourusername/dify-aws-custom
      cd dify-aws-custom
    
  

Update environment variables in the .env file to match your AWS setup and any custom configuration needs.

3. Build and Push Docker Image to AWS ECR

Create an ECR repository in AWS to store the Docker image, then build and push the image:

    
      # Create ECR repository
      aws ecr create-repository --repository-name dify-app
      # Build the Docker image
      docker build -t dify-app .
      # Tag and push to ECR
      docker tag dify-app:latest .dkr.ecr..amazonaws.com/dify-app:latest
      docker push .dkr.ecr..amazonaws.com/dify-app:latest
    
  

4. Deploy to AWS ECS

Using the pushed Docker image, configure an ECS cluster for deployment:

    
      # Step 1: Create ECS cluster
      aws ecs create-cluster --cluster-name dify-cluster
      # Step 2: Register task definition with ECR image
      aws ecs register-task-definition --cli-input-json file://ecs-task-def.json
      # Step 3: Run task on ECS cluster
      aws ecs run-task --cluster dify-cluster --task-definition dify-task
    
  

For detailed ECS configurations, refer to the AWS ECS Documentation.

5. Configure HTTPS with NGINX (Optional)

If you want to secure your Dify instance, set up HTTPS with NGINX and SSL certificates.

6. Access Dify

After the setup, navigate to your ECS instance's public IP in your browser to access the Dify dashboard and begin initialization.

Seeking Help

Refer to our FAQ if you encounter issues. For additional help, reach out to the community.

Security disclosure

To protect your privacy, please avoid posting security issues on GitHub. Instead, send your questions to security@dify.ai and we will provide you with a more detailed answer.

License

This repository is available under the Dify Open Source License, which is essentially Apache 2.0 with a few additional restrictions.

About

This fork of the Dify repository is tailored to deploy Dify in a scalable, cloud-based environment using Docker and AWS.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 50.2%
  • Python 45.4%
  • MDX 2.5%
  • CSS 1.1%
  • JavaScript 0.4%
  • SCSS 0.2%
  • Other 0.2%