Loading... # 官方文档 [本地代码部署官方文档链接](https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code) # windows下部署 ## 获取源码 Clone Dify 代码: ``` git clone https://github.com/langgenius/dify.git ``` 在启用业务服务之前,我们需要先部署 PostgreSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动: ``` cd docker copy middleware.env.example middleware.env docker compose -f docker-compose.middleware.yaml up -d ``` ### 可能遇到的问题 #### 安装windows的docker [windows的docker]([https://](https://docs.docker.com/desktop/setup/install/windows-install/#wsl-2-backend))   ## 后端启动步骤 ### 进入 api 目录 ``` cd api ``` > macOS 系统可以通过 `brew install libmagic` 命令安装 libmagic. ### 复制环境变量配置文件 ``` copy .env.example .env ``` ### 生成随机密钥,并替换 `.env` 中 `SECRET_KEY` 的值 ``` awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env ``` 如果无法运行以上命令 可以直接python代码 ``` import os import base64 # 生成随机密钥 key = base64.b64encode(os.urandom(42)).decode('utf-8') print(key) ``` ### 安装依赖包 Dify API 服务使用 [Poetry](https://python-poetry.org/docs/) 来管理依赖。 ``` pip install poetry ``` ``` poetry env use 3.12 poetry install ``` #### 中间可能遇到的问题  [Microsoft C++](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/)环境配置  python环境里输入 ``` pip wheel --no-cache-dir --use-pep517 "chroma-hnswlib (==0.7.6)" ```  ### 执行数据库迁移 将数据库结构迁移至最新版本。 ``` poetry run flask db upgrade ``` #### 遇到的问题  ##### 1. 移除 `flask-migrate` ``` poetry remove flask-migrate ``` ##### 2. 重新添加 ``` poetry add flask-migrate ``` ##### 然后验证一下 ``` poetry run pip show flask-migrate ``` 确认已经安装成功。  ##### 最后运行你的迁移命令 ``` poetry run flask db upgrade ``` 应该就不再报 `ModuleNotFoundError` 了。 ### 启动 API 服务 ``` poetry run flask run --host 0.0.0.0 --port=5001 --debug ``` 正确输出:  ### 启动 Worker 服务 用于消费异步队列任务,如知识库文件导入、更新知识库文档等异步操作。 Windows 系统启动服务命令: ``` poetry run celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace --loglevel INFO ``` 正确输出:  ## 前端启动步骤 ### 进入 web 目录 ``` cd web ``` ### 安装依赖包 ``` npm install ``` #### 如果没有npm环境 需要安装 前往官网下载安装包:[https://nodejs.org/](https://nodejs.org/) 安装失败  解决办法 这会避免一切兼容问题。你只需要执行: ``` npm install -g pnpm ``` 然后: ``` # 安装依赖 pnpm install ``` 这样 `ahooks` 就可以正常工作了,生态兼容性更好。 ### 配置环境变量。在当前目录下创建文件 `.env.local`,并复制`.env.example`中的内容。根据需求修改这些环境变量的值: ``` # For production release, change this to PRODUCTION NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT # The deployment edition, SELF_HOSTED NEXT_PUBLIC_EDITION=SELF_HOSTED # The base URL of console application, refers to the Console base URL of WEB service if console domain is # different from api or web app domain. # example: http://cloud.dify.ai/console/api NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api # The URL for Web APP, refers to the Web App base URL of WEB service if web app domain is different from # console or api domain. # example: http://udify.app/api NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api # SENTRY NEXT_PUBLIC_SENTRY_DSN= NEXT_PUBLIC_SENTRY_ORG= NEXT_PUBLIC_SENTRY_PROJECT= ``` ### 构建代码 ``` npm run build ``` ### 启动 web 服务 ``` npm run start # or yarn start # or pnpm start ``` 正常启动后,终端会输出如下信息: ``` ready - started server on 0.0.0.0:3000, url: http://localhost:3000 warn - You have enabled experimental feature (appDir) in next.config.js. warn - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk. info - Thank you for testing `appDir` please leave your feedback at https://nextjs.link/app-feedback ``` ### 访问 Dify 最后,访问 http://127.0.0.1:3000 即可使用本地部署的 Dify。 以上是在windows环境下直接运行代码 ### 如果docker没有问题 可以使用以下方法简单运行 克隆 Dify 源代码至本地,然后进入 docker 目录,复制一份环境变量,采用默认端口,一键启动: ```text git clone https://github.com/langgenius/dify.git cd dify/docker copy .env.example .env docker compose up -d ``` 启动成功后,你会发现共有 9 个容器:包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox。  最后修改:2025 年 04 月 12 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏