- You’re looking to create one or a few applications as a small/medium business and you care about data residency.
- You are interested in Dify Cloud, but your use case require more resource than supported by the plans.
- You’d like to run a POC before adopting Dify Enterprise within your organization.
Setup
If this is your first time accessing Dify, enter the Admin initialization password (set to your EC2’s instance ID) to start the set up process. After the AMI is deployed, access Dify via the instance’s public IP found in th EC2 console (HTTP port 80 is used by default).Upgrading
In the EC2 instance, run the following commands:Upgrading Community Edition to v1.0.0+
Upgrading Community Edition to v1.0.0+
This section describes migrating an older Community Edition to Dify v1.0.0+. For general upgrades of Dify Premium or Community Edition to versions later than this specific migration scope, please refer to their respective main upgrade instructions.The upgrade process involves the following steps:
- Backup your data
- Migrate plugins
- Upgrade the main dify project
1. Backup Data
1.1 Execute thecd command to navigate to your Dify project directory and create a backup branch.1.2 Run the following command to back up your docker-compose YAML file (optional).2. Upgrade the Version
v1.0.0 supports deployment via Docker Compose. Navigate to your Dify project path and run the following commands to upgrade to the Dify version:3. Migrate Tools to Plugins
Important Note on Command Execution and Package Management (for v1.0.0 migration):
- Default Container Name: The
docker execcommand examples usedocker-api-1. If your API container has a different name or ID (which you can find usingdocker ps), please adjust the command accordingly.- Python Package Manager (
uvvs.poetry):
- Dify switched from
poetrytouvfor Python package management starting with version v1.3.0 to enhance performance. For general operations in Dify v1.3.0 or newer, the standard command isuv run flask .... - This specific section focuses on upgrading to Dify v1.0.0. During the period of Dify v1.0.0 up to (but not including) v1.3.0,
poetrywas the package manager. Therefore, theflaskcommands in the examples below correctly usepoetry run .... The code examples emphasize the currentuvstandard in comments first, then show thepoetrycommand relevant to this specific v1.0.0 migration scope.
- Run the
docker pscommand to check the API container name or ID. The default is oftendocker-api-1.
docker exec -it docker-api-1 bash to enter the container terminal (if your container name is different, use that instead), and then run:If an error occurs (e.g.,This command will extract all models and tools currently in use in the environment. The workers parameter controls the number of parallel processes used during extraction and can be adjusted as needed. After the command runs, it will generate auvorpoetrynot found) when trying to execute the commands as per this guide for v1.0.0 migration, ensure thepoetryenvironment is correctly set up on the server as per the original prerequisites for that version. If the terminal asks for input after running apoetrycommand, press “Enter” to skip.
plugins.jsonl file containing plugin information for all workspaces in the current Dify instance.Ensure your network can access the public internet and support access to: https://marketplace.dify.ai. Continue running the following command in the docker-api-1 container:Install plugins completed., the migration is complete.Customizing
Just like self-hosted deploy, you may modify the environment variables under.env in your EC2 instance as you see fit. Then, restart Dify with: