Linux中使用Docker安装DIFY搭建本地支持库和Agent

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

然而它的安装不是一帆风顺,尤其是按照官方文档中使用docker安装,刚开始都是以失败告终。主要报错如下,在网上也搜了很多教程,始终没有解决问题。

按照官方教程https://docs.dify.ai

git clone https://github.com/langgenius/dify.gitcd dify/dockerdocker compose up -d

最终的解决办法是去1.修改成为国内代理的docker镜像源,2.修改安装文件下的docker/docker-compose.yaml的docker镜像路径。最终安装成功。

第一步:

echo '{"registry-mirrors": ["https://docker.1ms.run"]}' | sudo tee /etc/docker/daemon.json > /dev/nullsystemctl daemon-reloadsystemctl restart docker

第二步:vi docker/docker-compose.yaml,修改后的完整文件,可以直接拿去用。见文末

最终拉取镜像等待最终运行成功。

docker compose up -d

在浏览器中打开服务器的地址http://localhost,如下开始配置

登录成功

docker/docker-compose.yaml文件

# ==================================================================# WARNING: This file is auto-generated by generate_docker_compose# Do not modify this file directly. Instead, update the .env.example# or docker-compose-template.yaml and regenerate this file.# ==================================================================x-shared-env: &shared-api-worker-env  CONSOLE_API_URL: ${CONSOLE_API_URL:-}  CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-}  SERVICE_API_URL: ${SERVICE_API_URL:-}  APP_API_URL: ${APP_API_URL:-}  APP_WEB_URL: ${APP_WEB_URL:-}  FILES_URL: ${FILES_URL:-}  LOG_LEVEL: ${LOG_LEVEL:-INFO}  LOG_FILE: ${LOG_FILE:-/app/logs/server.log}  LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20}  LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5}  LOG_DATEFORMAT: ${LOG_DATEFORMAT:-%Y-%m-%d %H:%M:%S}  LOG_TZ: ${LOG_TZ:-UTC}  DEBUG: ${DEBUG:-false}  FLASK_DEBUG: ${FLASK_DEBUG:-false}  SECRET_KEY: ${SECRET_KEY:-sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U}  INIT_PASSWORD: ${INIT_PASSWORD:-}  DEPLOY_ENV: ${DEPLOY_ENV:-PRODUCTION}  CHECK_UPDATE_URL: ${CHECK_UPDATE_URL:-https://updates.dify.ai}  OPENAI_API_BASE: ${OPENAI_API_BASE:-https://api.openai.com/v1}  MIGRATION_ENABLED: ${MIGRATION_ENABLED:-true}  FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}  ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60}  REFRESH_TOKEN_EXPIRE_DAYS: ${REFRESH_TOKEN_EXPIRE_DAYS:-30}  APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0}  APP_MAX_EXECUTION_TIME: ${APP_MAX_EXECUTION_TIME:-1200}  DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}  DIFY_PORT: ${DIFY_PORT:-5001}  SERVER_WORKER_AMOUNT: ${SERVER_WORKER_AMOUNT:-1}  SERVER_WORKER_CLASS: ${SERVER_WORKER_CLASS:-gevent}  SERVER_WORKER_CONNECTIONS: ${SERVER_WORKER_CONNECTIONS:-10}  CELERY_WORKER_CLASS: ${CELERY_WORKER_CLASS:-}  GUNICORN_TIMEOUT: ${GUNICORN_TIMEOUT:-360}  CELERY_WORKER_AMOUNT: ${CELERY_WORKER_AMOUNT:-}  CELERY_AUTO_SCALE: ${CELERY_AUTO_SCALE:-false}  CELERY_MAX_WORKERS: ${CELERY_MAX_WORKERS:-}  CELERY_MIN_WORKERS: ${CELERY_MIN_WORKERS:-}  API_TOOL_DEFAULT_CONNECT_TIMEOUT: ${API_TOOL_DEFAULT_CONNECT_TIMEOUT:-10}  API_TOOL_DEFAULT_READ_TIMEOUT: ${API_TOOL_DEFAULT_READ_TIMEOUT:-60}  DB_USERNAME: ${DB_USERNAME:-postgres}  DB_PASSWORD: ${DB_PASSWORD:-difyai123456}  DB_HOST: ${DB_HOST:-db}  DB_PORT: ${DB_PORT:-5432}  DB_DATABASE: ${DB_DATABASE:-dify}  SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30}  SQLALCHEMY_POOL_RECYCLE: ${SQLALCHEMY_POOL_RECYCLE:-3600}  SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO:-false}  POSTGRES_MAX_CONNECTIONS: ${POSTGRES_MAX_CONNECTIONS:-100}  POSTGRES_SHARED_BUFFERS: ${POSTGRES_SHARED_BUFFERS:-128MB}  POSTGRES_WORK_MEM: ${POSTGRES_WORK_MEM:-4MB}  POSTGRES_MAINTENANCE_WORK_MEM: ${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}  POSTGRES_EFFECTIVE_CACHE_SIZE: ${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}  REDIS_HOST: ${REDIS_HOST:-redis}  REDIS_PORT: ${REDIS_PORT:-6379}  REDIS_USERNAME: ${REDIS_USERNAME:-}  REDIS_PASSWORD: ${REDIS_PASSWORD:-difyai123456}  REDIS_USE_SSL: ${REDIS_USE_SSL:-false}  REDIS_DB: ${REDIS_DB:-0}  REDIS_USE_SENTINEL: ${REDIS_USE_SENTINEL:-false}  REDIS_SENTINELS: ${REDIS_SENTINELS:-}  REDIS_SENTINEL_SERVICE_NAME: ${REDIS_SENTINEL_SERVICE_NAME:-}  REDIS_SENTINEL_USERNAME: ${REDIS_SENTINEL_USERNAME:-}  REDIS_SENTINEL_PASSWORD: ${REDIS_SENTINEL_PASSWORD:-}  REDIS_SENTINEL_SOCKET_TIMEOUT: ${REDIS_SENTINEL_SOCKET_TIMEOUT:-0.1}  REDIS_USE_CLUSTERS: ${REDIS_USE_CLUSTERS:-false}  REDIS_CLUSTERS: ${REDIS_CLUSTERS:-}  REDIS_CLUSTERS_PASSWORD: ${REDIS_CLUSTERS_PASSWORD:-}  CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://:difyai123456@redis:6379/1}  BROKER_USE_SSL: ${BROKER_USE_SSL:-false}  CELERY_USE_SENTINEL: ${CELERY_USE_SENTINEL:-false}  CELERY_SENTINEL_MASTER_NAME: ${CELERY_SENTINEL_MASTER_NAME:-}  CELERY_SENTINEL_SOCKET_TIMEOUT: ${CELERY_SENTINEL_SOCKET_TIMEOUT:-0.1}  WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS:-*}  CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS:-*}  STORAGE_TYPE: ${STORAGE_TYPE:-opendal}  OPENDAL_SCHEME: ${OPENDAL_SCHEME:-fs}  OPENDAL_FS_ROOT: ${OPENDAL_FS_ROOT:-storage}  S3_ENDPOINT: ${S3_ENDPOINT:-}  S3_REGION: ${S3_REGION:-us-east-1}  S3_BUCKET_NAME: ${S3_BUCKET_NAME:-difyai}  S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}  S3_SECRET_KEY: ${S3_SECRET_KEY:-}  S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}  AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai}  AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai}  AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container}  AZURE_BLOB_ACCOUNT_URL: ${AZURE_BLOB_ACCOUNT_URL:-https://<your_account_name>.blob.core.windows.net}  GOOGLE_STORAGE_BUCKET_NAME: ${GOOGLE_STORAGE_BUCKET_NAME:-your-bucket-name}  GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ${GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64:-}  ALIYUN_OSS_BUCKET_NAME: ${ALIYUN_OSS_BUCKET_NAME:-your-bucket-name}  ALIYUN_OSS_ACCESS_KEY: ${ALIYUN_OSS_ACCESS_KEY:-your-access-key}  ALIYUN_OSS_SECRET_KEY: ${ALIYUN_OSS_SECRET_KEY:-your-secret-key}  ALIYUN_OSS_ENDPOINT: ${ALIYUN_OSS_ENDPOINT:-https://oss-ap-southeast-1-internal.aliyuncs.com}  ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION:-ap-southeast-1}  ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION:-v4}  ALIYUN_OSS_PATH: ${ALIYUN_OSS_PATH:-your-path}  TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME:-your-bucket-name}  TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY:-your-secret-key}  TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID:-your-secret-id}  TENCENT_COS_REGION: ${TENCENT_COS_REGION:-your-region}  TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME:-your-scheme}  OCI_ENDPOINT: ${OCI_ENDPOINT:-https://objectstorage.us-ashburn-1.oraclecloud.com}  OCI_BUCKET_NAME: ${OCI_BUCKET_NAME:-your-bucket-name}  OCI_ACCESS_KEY: ${OCI_ACCESS_KEY:-your-access-key}  OCI_SECRET_KEY: ${OCI_SECRET_KEY:-your-secret-key}  OCI_REGION: ${OCI_REGION:-us-ashburn-1}  HUAWEI_OBS_BUCKET_NAME: ${HUAWEI_OBS_BUCKET_NAME:-your-bucket-name}  HUAWEI_OBS_SECRET_KEY: ${HUAWEI_OBS_SECRET_KEY:-your-secret-key}  HUAWEI_OBS_ACCESS_KEY: ${HUAWEI_OBS_ACCESS_KEY:-your-access-key}  HUAWEI_OBS_SERVER: ${HUAWEI_OBS_SERVER:-your-server-url}  VOLCENGINE_TOS_BUCKET_NAME: ${VOLCENGINE_TOS_BUCKET_NAME:-your-bucket-name}  VOLCENGINE_TOS_SECRET_KEY: ${VOLCENGINE_TOS_SECRET_KEY:-your-secret-key}  VOLCENGINE_TOS_ACCESS_KEY: ${VOLCENGINE_TOS_ACCESS_KEY:-your-access-key}  VOLCENGINE_TOS_ENDPOINT: ${VOLCENGINE_TOS_ENDPOINT:-your-server-url}  VOLCENGINE_TOS_REGION: ${VOLCENGINE_TOS_REGION:-your-region}  BAIDU_OBS_BUCKET_NAME: ${BAIDU_OBS_BUCKET_NAME:-your-bucket-name}  BAIDU_OBS_SECRET_KEY: ${BAIDU_OBS_SECRET_KEY:-your-secret-key}  BAIDU_OBS_ACCESS_KEY: ${BAIDU_OBS_ACCESS_KEY:-your-access-key}  BAIDU_OBS_ENDPOINT: ${BAIDU_OBS_ENDPOINT:-your-server-url}  SUPABASE_BUCKET_NAME: ${SUPABASE_BUCKET_NAME:-your-bucket-name}  SUPABASE_API_KEY: ${SUPABASE_API_KEY:-your-access-key}  SUPABASE_URL: ${SUPABASE_URL:-your-server-url}  VECTOR_STORE: ${VECTOR_STORE:-weaviate}  WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080}  WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}  QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333}  QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456}  QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT:-20}  QDRANT_GRPC_ENABLED: ${QDRANT_GRPC_ENABLED:-false}  QDRANT_GRPC_PORT: ${QDRANT_GRPC_PORT:-6334}  MILVUS_URI: ${MILVUS_URI:-http://127.0.0.1:19530}  MILVUS_TOKEN: ${MILVUS_TOKEN:-}  MILVUS_USER: ${MILVUS_USER:-root}  MILVUS_PASSWORD: ${MILVUS_PASSWORD:-Milvus}  MILVUS_ENABLE_HYBRID_SEARCH: ${MILVUS_ENABLE_HYBRID_SEARCH:-False}  MYSCALE_HOST: ${MYSCALE_HOST:-myscale}  MYSCALE_PORT: ${MYSCALE_PORT:-8123}  MYSCALE_USER: ${MYSCALE_USER:-default}  MYSCALE_PASSWORD: ${MYSCALE_PASSWORD:-}  MYSCALE_DATABASE: ${MYSCALE_DATABASE:-dify}  MYSCALE_FTS_PARAMS: ${MYSCALE_FTS_PARAMS:-}  COUCHBASE_CONNECTION_STRING: ${COUCHBASE_CONNECTION_STRING:-couchbase://couchbase-server}  COUCHBASE_USER: ${COUCHBASE_USER:-Administrator}  COUCHBASE_PASSWORD: ${COUCHBASE_PASSWORD:-password}  COUCHBASE_BUCKET_NAME: ${COUCHBASE_BUCKET_NAME:-Embeddings}  COUCHBASE_SCOPE_NAME: ${COUCHBASE_SCOPE_NAME:-_default}  PGVECTOR_HOST: ${PGVECTOR_HOST:-pgvector}  PGVECTOR_PORT: ${PGVECTOR_PORT:-5432}  PGVECTOR_USER: ${PGVECTOR_USER:-postgres}  PGVECTOR_PASSWORD: ${PGVECTOR_PASSWORD:-difyai123456}  PGVECTOR_DATABASE: ${PGVECTOR_DATABASE:-dify}  PGVECTOR_MIN_CONNECTION: ${PGVECTOR_MIN_CONNECTION:-1}  PGVECTOR_MAX_CONNECTION: ${PGVECTOR_MAX_CONNECTION:-5}  PGVECTO_RS_HOST: ${PGVECTO_RS_HOST:-pgvecto-rs}  PGVECTO_RS_PORT: ${PGVECTO_RS_PORT:-5432}  PGVECTO_RS_USER: ${PGVECTO_RS_USER:-postgres}  PGVECTO_RS_PASSWORD: ${PGVECTO_RS_PASSWORD:-difyai123456}  PGVECTO_RS_DATABASE: ${PGVECTO_RS_DATABASE:-dify}  ANALYTICDB_KEY_ID: ${ANALYTICDB_KEY_ID:-your-ak}  ANALYTICDB_KEY_SECRET: ${ANALYTICDB_KEY_SECRET:-your-sk}  ANALYTICDB_REGION_ID: ${ANALYTICDB_REGION_ID:-cn-hangzhou}  ANALYTICDB_INSTANCE_ID: ${ANALYTICDB_INSTANCE_ID:-gp-ab123456}  ANALYTICDB_ACCOUNT: ${ANALYTICDB_ACCOUNT:-testaccount}  ANALYTICDB_PASSWORD: ${ANALYTICDB_PASSWORD:-testpassword}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值