Skip to main content

Requirements

Quick Start

Download

Download a specific version from Dify Enterprise repository. Using wget:
Using curl:

Installation

  1. Extract the contents of the downloaded file to your deployment directory.
  2. Copy the environment template, then start docker compose.
  3. How to Access Dify Enterprise.
    • Get the IP address of your server and change the hosts file on your local machine to point the domain to the IP address.
  4. Verify Dify Services Status.
  5. License Activation.

Upgrade From Community Edition

Environment configuration was restructured in 3.10: the monolithic .env.example is now split into a slim .env.example plus optional envs/*.env.example files, with enterprise settings shipped active under envs/enterprise/. Restoring your backed-up .env is safe — Docker Compose reads .env last, so your existing values take precedence and the deployment keeps working without migration. Optionally, to pick up new 3.10 defaults or newly added variables, reconcile .env against the new .env.example with the bundled dify-env-sync.sh (one-way .env.example.env; preserves your custom values, backs up first, reports removed keys).
  1. Create the enterprise database (make sure your community version is running).
    Tip: You may need to adjust the container name based on your running containers. Use docker container ls to find the name of the db service.
  2. Shut down the community version.
  3. Backup your data and settings (you may need to use sudo).
  4. Delete all files and folders from the Community version, except for the backup.tgz and dify-docker-compose-<version>.tgz.
  5. Extract the contents of the downloaded file to your deployment directory.
  6. Restore your backup by deleting the volumes folder.
    Then run:
  7. If you have custom configurations (e.g., docker-compose.yaml, ssrf_proxy/squid.conf, or nginx/conf.d/default.conf), update the corresponding files with your changes.
  8. Start docker compose.
  9. How to Access Dify Enterprise.
    • Get the IP address of your server and change the hosts file on your local machine to point the domain to the IP address.
  10. Verify Dify Services Status.
  11. License Activation.

Upgrade From Previous Enterprise Edition

Environment configuration was restructured in 3.10: the monolithic .env.example is now split into a slim .env.example plus optional envs/*.env.example files, with enterprise settings shipped active under envs/enterprise/. Restoring your backed-up .env is safe — Docker Compose reads .env last, so your existing values take precedence and the deployment keeps working without migration. Optionally, to pick up new 3.10 defaults or newly added variables, reconcile .env against the new .env.example with the bundled dify-env-sync.sh (one-way .env.example.env; preserves your custom values, backs up first, reports removed keys).
  1. Backup your data and settings (you may need to use sudo).
  2. Delete all files and folders from the Community version, except for the backup.tgz and dify-docker-compose-<version>.tgz.
  3. Extract the contents of the downloaded file to your deployment directory.
  4. Restore your backup by deleting the volumes folder.
    Then run:
  5. If you have custom configurations (e.g., docker-compose.yaml, ssrf_proxy/squid.conf, or nginx/conf.d/default.conf), update the corresponding files with your changes.
  6. Start docker compose:

Advanced Configuration

Configuration Files

Configuration is split across a few files in your deployment directory:
  • .env — your active configuration. Copy it from .env.example (cp .env.example .env) before the first start. Put all your overrides here; Docker Compose reads it last, so values in .env take precedence over everything else.
  • envs/enterprise/*.env — enterprise service settings. Shipped active and wired automatically; you do not need to copy or edit them for a standard deployment.
  • envs/*.env.example — optional advanced settings grouped by theme (databases, vectorstores, infrastructure, …). To enable a group, copy the file without the .example suffix (for example cp envs/databases/redis.env.example envs/databases/redis.env).
For the settings below, adding the variables to .env is sufficient — they override any default from the files above.

Domain Requirements

Dify Enterprise requires 5 domains to be set up. The domains are:
  • Console: console.dify.local
  • Services API: api.dify.local
  • APP: app.dify.local
  • Files: upload.dify.local
  • Enterprise: enterprise.dify.local
To change this, add the relevant configurations to the .env file in your deployment directory.

Persistence Storage

By defualt, Enterprise Edition uses local storage. To change this, add the relevant configurations in the .env file in your deployment directory. For example, to use AWS S3:
For configurations for other storage options, refer to the File Storage Configuration.

Postgres Database

To change this, add the relevant configurations to the .env file in your deployment directory.
For configurations for other databases, refer to the Database Configuration.

Redis Database

To change this, add the relevant configurations to the .env file in your deployment directory.
For configurations for other databases, refer to the Redis Configuration.

Vector Database

By defualt, Enterprise Edition uses Weaviate as vector database. To change this, add the relevant configurations to the .env file in your deployment directory. For example, to use Qdrant:
For configurations for other vector databases, refer to the Vector Database Configuration.

Additional Configuration

For additional configuration options, refer to the Environment Variables Explanation.