Requirements
- Release Log: https://langgenius.github.io/dify-enterprise-docker-compose/
- Docker
- Docker Compose
- Linux Server
- Warning: Don’t support Docker Desktop for Windows and Mac.
- Minimum: 4 CPU cores, 16 GB memory, 100 GB disk space.
Quick Start
Download
Download a specific version from Dify Enterprise repository. Using wget:Installation
-
Extract the contents of the downloaded file to your deployment directory.
-
Copy the environment template, then start docker compose.
-
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.
- Verify Dify Services Status.
- 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).-
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 lsto find the name of thedbservice. -
Shut down the community version.
-
Backup your data and settings (you may need to use
sudo). -
Delete all files and folders from the Community version, except for the
backup.tgzanddify-docker-compose-<version>.tgz. -
Extract the contents of the downloaded file to your deployment directory.
-
Restore your backup by deleting the
volumesfolder.Then run: -
If you have custom configurations (e.g.,
docker-compose.yaml,ssrf_proxy/squid.conf, ornginx/conf.d/default.conf), update the corresponding files with your changes. -
Start docker compose.
-
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.
- Verify Dify Services Status.
- 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).-
Backup your data and settings (you may need to use sudo).
-
Delete all files and folders from the Community version, except for the
backup.tgzanddify-docker-compose-<version>.tgz. -
Extract the contents of the downloaded file to your deployment directory.
-
Restore your backup by deleting the
volumesfolder.Then run: -
If you have custom configurations (e.g.,
docker-compose.yaml,ssrf_proxy/squid.conf, ornginx/conf.d/default.conf), update the corresponding files with your changes. -
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.envtake 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.examplesuffix (for examplecp envs/databases/redis.env.example envs/databases/redis.env).
.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
.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:
Postgres Database
To change this, add the relevant configurations to the.env file in your deployment directory.
Redis Database
To change this, add the relevant configurations to the.env file in your deployment directory.
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: