Dify 1.14 Docker 服务架构解析

核心服务(默认启用)

服务镜像端口说明
nginxnginx:latest80, 443反向代理,统一入口
weblanggenius/dify-web:1.14.03000前端 Next.js 应用
apilanggenius/dify-api:1.14.05001后端 API 服务
workerlanggenius/dify-api:1.14.0-Celery 异步任务执行
worker_beatlanggenius/dify-api:1.14.0-Celery 定时调度
db_postgrespostgres:15-alpine5432PostgreSQL 主数据库
redisredis:6-alpine6379缓存 & Celery broker
sandboxlanggenius/dify-sandbox:0.2.158194代码执行沙箱
ssrf_proxyubuntu/squid:latest3128SSRF 防护代理
plugin_daemonlanggenius/dify-plugin-daemon:0.6.05002, 5003插件管理守护进程
init_permissionsbusybox:latest-初始化文件权限(一次性)

默认组合:PostgreSQL + Redis + Nginx + Weaviate

可选关系数据库(通过 profile 切换)

Profile服务镜像端口
mysqldb_mysqlmysql:8.03306
oceanbaseoceanbaseoceanbase/oceanbase-ce:4.3.5-lts2881
seekdbseekdboceanbase/seekdb:latest2881
opengaussopengaussopengauss/opengauss:7.0.0-RC16600
oracleoraclecontainer-registry.oracle.com/database/free:latest1521
matrixonematrixonematrixorigin/matrixone:2.1.16001
irisiriscontainers.intersystems.com/intersystems/iris-community:2025.31972, 52773

可选向量数据库(通过 profile 切换)

Profile服务镜像端口说明
weaviateweaviatesemitechnologies/weaviate:1.27.08080, 50051默认选项
pgvectorpgvectorpgvector/pgvector:pg165432PostgreSQL + pgvector 扩展
pgvecto-rspgvecto-rstensorchord/pgvecto-rs:pg16-v0.3.05432pgvecto.rs
qdrantqdrantlanggenius/qdrant:v1.8.36333Qdrant
chromachromaghcr.io/chroma-core/chroma:0.5.208000Chroma
milvusmilvus-standalonemilvusdb/milvus:v2.6.319530, 9091Milvus(含 etcd + MinIO)
opensearchopensearchopensearchproject/opensearch:latest9200OpenSearch + Dashboards
elasticsearchelasticsearchdocker.elastic.co/elasticsearch/elasticsearch:8.14.39200Elasticsearch + Kibana
couchbasecouchbase-server本地构建8091Couchbase
myscalemyscalemyscale/myscaledb:1.6.48123MyScale

其他可选服务

Profile服务镜像说明
unstructuredunstructuredunstructured-io/unstructured-api:latestETL 文档解析
certbotcertbotcertbot/certbotSSL 证书自动管理

服务依赖链

init_permissions(首次运行) │ ├── redis ──────────────────────┐ │ │ ├── db_postgres ────────────────┤ │ ├── api ──────┐ │ ├── worker │ │ ├── worker_beat│ │ │ ├── nginx(统一入口) │ │ │ ├── sandbox ── ssrf_proxy │ ├── web(前端) │ │ │ └── plugin_daemon ──────────────┘ │ │ 向量数据库(可选,按 profile 启用)──────────────┘

配置方式

.env 文件中控制:

# 启用的服务 profile
COMPOSE_PROFILES=weaviate,postgresql

# 主数据库类型
DB_TYPE=postgresql

# 向量数据库类型
VECTOR_STORE=weaviate

# 切换示例:使用 MySQL + Qdrant
# COMPOSE_PROFILES=mysql,qdrant
# DB_TYPE=mysql
# VECTOR_STORE=qdrant

数据卷

docker/volumes/ ├── app/storage # 用户文件和应用数据 ├── db/data # 数据库数据 ├── redis/data # Redis 持久化 ├── sandbox/ # 沙箱环境 ├── plugin_daemon/ # 插件存储 ├── weaviate/ # Weaviate 数据 ├── pgvector/ # pgvector 数据 ├── milvus/ # Milvus 数据 └── certbot/ # SSL 证书