iamt 1.1.27__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. iamt/__init__.py +67 -0
  2. iamt/__main__.py +5 -0
  3. iamt/client_config/client_config.py +354 -0
  4. iamt/completers/customCompleter.py +143 -0
  5. iamt/composes/5425CICD/gitea/.rdm.md +4 -0
  6. iamt/composes/5425CICD/gitea/docker-compose.yml +52 -0
  7. iamt/composes/5425CICD/gitlab/.rdm.md +20 -0
  8. iamt/composes/5425CICD/gitlab/config/ssl/.gitkeep +0 -0
  9. iamt/composes/5425CICD/gitlab/docker-compose.yml +32 -0
  10. iamt/composes/5425CICD/gitlabDocs/.rdm.md +3 -0
  11. iamt/composes/5425CICD/gitlabRunner/.rdm.md +5 -0
  12. iamt/composes/5425CICD/sonarQube/.rdm.md +14 -0
  13. iamt/composes/5425CICD/sonarQube/docker-compose.yml +46 -0
  14. iamt/composes/5425CICD/sonarQube/docker-compose3.yml +41 -0
  15. iamt/composes/5425CICD/sonarQube/docker-compose4.yml +33 -0
  16. iamt/composes/5425CICD/sonarQube/sonarqube_conf/.gitkeep +0 -0
  17. iamt/composes/5425CICD/sonarQube/sonarqube_data/.gitkeep +0 -0
  18. iamt/composes/5425CICD/sonarQube/sonarqube_extensions/.gitkeep +0 -0
  19. iamt/composes/5425CICD/sonarQube/sonarqube_logs/.gitkeep +0 -0
  20. iamt/composes/5425CICD/sonarQube/sonarqube_temp/.gitkeep +0 -0
  21. iamt/composes/5435PROMPT/.rdm.md +11 -0
  22. iamt/composes/5435PROMPT/langfuse/.env +276 -0
  23. iamt/composes/5435PROMPT/langfuse/.rdm.md +3 -0
  24. iamt/composes/5435PROMPT/langfuse/docker-compose.yml +166 -0
  25. iamt/composes/5435PROMPT/prompt-optimizer/.rdm.md +3 -0
  26. iamt/composes/5465BASE/alpine/.rdm.md +6 -0
  27. iamt/composes/5465BASE/mysql/.rdm.md +40 -0
  28. iamt/composes/5465BASE/mysql/conf/my.cnf +52 -0
  29. iamt/composes/5465BASE/mysql/docker-compose.yml +31 -0
  30. iamt/composes/5465BASE/mysql/init/01-init.sql +14 -0
  31. iamt/composes/5465BASE/nginx/.rdm.md +16 -0
  32. iamt/composes/5465BASE/nginx/docker-compose.yml +29 -0
  33. iamt/composes/5465BASE/nginx/html/index.html +11 -0
  34. iamt/composes/5465BASE/nginx/nginx/conf.d/default.conf +22 -0
  35. iamt/composes/5465BASE/nginx/nginx/nginx.conf +35 -0
  36. iamt/composes/5465BASE/node/.rdm.md +0 -0
  37. iamt/composes/5465BASE/node/docker-compose.yml +0 -0
  38. iamt/composes/5465BASE/php/.rdm.md +0 -0
  39. iamt/composes/5465BASE/php/docker-compose.yml +0 -0
  40. iamt/composes/5465BASE/redis/.env +11 -0
  41. iamt/composes/5465BASE/redis/.rdm.md +7 -0
  42. iamt/composes/5465BASE/redis/config/redis.conf +57 -0
  43. iamt/composes/5465BASE/redis/docker-compose.yml +35 -0
  44. iamt/composes/5475TTS/GPTsovits/.rdm.md +4 -0
  45. iamt/composes/5475TTS/GPTsovits/docker-compose.yml +34 -0
  46. iamt/composes/5475TTS/indexTTS/.rdm.md +3 -0
  47. iamt/composes/5485MCP/.rdm.md +5 -0
  48. iamt/composes/5485MCP/mcpGateway/.rdm.md +2 -0
  49. iamt/composes/5485MCP/mcpGateway/docker-compose.yml +0 -0
  50. iamt/composes/5485MCP/mcpProxy/.rdm.md +2 -0
  51. iamt/composes/5485MCP/mcpProxy/config.json +53 -0
  52. iamt/composes/5485MCP/mcpProxy/docker-compose.yml +34 -0
  53. iamt/composes/5485MCP/superGateway/.env +2 -0
  54. iamt/composes/5485MCP/superGateway/.rdm.md +17 -0
  55. iamt/composes/5485MCP/superGateway/docker-compose.yml +21 -0
  56. iamt/composes/5495LLM/ollama_nvidia/.rdm.md +21 -0
  57. iamt/composes/5495LLM/ollama_nvidia/docker-compose.yml +24 -0
  58. iamt/composes/5555RAG/QAnything/.rdm.md +5 -0
  59. iamt/composes/5555RAG/bisheng/.rdm.md +4 -0
  60. iamt/composes/5555RAG/devdocs/.rdm.md +4 -0
  61. iamt/composes/5555RAG/devdocs/docker-compose.yml +81 -0
  62. iamt/composes/5555RAG/kotaemon/.rdm.md +3 -0
  63. iamt/composes/5555RAG/kotaemon/docker-compose.yml +3 -0
  64. iamt/composes/5555RAG/llama_index/.rdm.md +3 -0
  65. iamt/composes/5555RAG/ragflow/.rdm.md +4 -0
  66. iamt/composes/5555RAG/ragflow/docker-compose.yml +0 -0
  67. iamt/composes/5556LLMAPI/litellm/.env +29 -0
  68. iamt/composes/5556LLMAPI/litellm/.rdm.md +17 -0
  69. iamt/composes/5556LLMAPI/litellm/config.yaml +211 -0
  70. iamt/composes/5556LLMAPI/litellm/docker-compose.yml +68 -0
  71. iamt/composes/5556LLMAPI/litellm/prometheus.yml +9 -0
  72. iamt/composes/5556LLMAPI/newapi/.env +7 -0
  73. iamt/composes/5556LLMAPI/newapi/docker-compose.yml +54 -0
  74. iamt/composes/5556LLMAPI/newapi_sqlite/.env +3 -0
  75. iamt/composes/5556LLMAPI/newapi_sqlite/.rdm.md +15 -0
  76. iamt/composes/5556LLMAPI/newapi_sqlite/docker-compose.yml +15 -0
  77. iamt/composes/5556LLMAPI/oneapi/.env +5 -0
  78. iamt/composes/5556LLMAPI/oneapi/docker-compose.yml +51 -0
  79. iamt/composes/5556LLMAPI/oneapi_postgresql/docker-compose.yml +51 -0
  80. iamt/composes/5556LLMAPI/oneapi_sqlite/.rdm.md +10 -0
  81. iamt/composes/5556LLMAPI/oneapi_sqlite/docker-compose.yml +15 -0
  82. iamt/composes/5557AICLIENT/chatgpt-web-midjourney-proxy/.rdm.md +4 -0
  83. iamt/composes/5557AICLIENT/librechat/.env +511 -0
  84. iamt/composes/5557AICLIENT/librechat/.env.example +509 -0
  85. iamt/composes/5557AICLIENT/librechat/README.md +10 -0
  86. iamt/composes/5557AICLIENT/librechat/docker-compose.override.yml +21 -0
  87. iamt/composes/5557AICLIENT/librechat/docker-compose.yml +70 -0
  88. iamt/composes/5557AICLIENT/librechat/librechat.yaml +19 -0
  89. iamt/composes/5557AICLIENT/librechat/litellm-config.yml +21 -0
  90. iamt/composes/5557AICLIENT/librechat_oneapi/.env +535 -0
  91. iamt/composes/5557AICLIENT/librechat_oneapi/.rdm.md +19 -0
  92. iamt/composes/5557AICLIENT/librechat_oneapi/docker-compose.override.yml +14 -0
  93. iamt/composes/5557AICLIENT/librechat_oneapi/docker-compose.yml +72 -0
  94. iamt/composes/5557AICLIENT/librechat_oneapi/librechat.yaml +42 -0
  95. iamt/composes/5557AICLIENT/nextChat/.rdm.md +13 -0
  96. iamt/composes/5557AICLIENT/nextChat/docker-compose.yml +2 -0
  97. iamt/composes/5557AICLIENT/openwebui/.env +15 -0
  98. iamt/composes/5557AICLIENT/openwebui/.rdm.md +6 -0
  99. iamt/composes/5557AICLIENT/openwebui/docker-compose.yml +33 -0
  100. iamt/composes/5558AIWORKFLOW/coze_studio/.env +193 -0
  101. iamt/composes/5558AIWORKFLOW/coze_studio/.rdm.md +15 -0
  102. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/README.md +71 -0
  103. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/atlas.hcl +12 -0
  104. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250703095335_initial.sql +90 -0
  105. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250703115304_update.sql +2 -0
  106. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250704040445_update.sql +2 -0
  107. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250708075302_update.sql +10 -0
  108. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250710100212_update.sql +38 -0
  109. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250711034533_update.sql +8 -0
  110. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/20250717125913_update.sql +12 -0
  111. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/migrations/atlas.sum +8 -0
  112. iamt/composes/5558AIWORKFLOW/coze_studio/atlas/opencoze_latest_schema.hcl +4057 -0
  113. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/model_template_qwen.yaml +106 -0
  114. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark.yaml +133 -0
  115. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-lite.yaml +108 -0
  116. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-pro-256k.yaml +108 -0
  117. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-pro-32k.yaml +108 -0
  118. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-thinking-pro.yaml +131 -0
  119. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-thinking-vision-pro.yaml +132 -0
  120. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-vision-lite.yaml +131 -0
  121. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-1.5-vision-pro.yaml +132 -0
  122. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-seed-1.6-flash.yaml +132 -0
  123. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-seed-1.6-thinking.yaml +132 -0
  124. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_doubao-seed-1.6.yaml +132 -0
  125. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_volc_deepseek-r1.yaml +108 -0
  126. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ark_volc_deepseek-v3.yaml +108 -0
  127. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_basic.yaml +201 -0
  128. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_claude.yaml +90 -0
  129. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_deepseek.yaml +107 -0
  130. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_gemini.yaml +139 -0
  131. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_ollama.yaml +84 -0
  132. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_openai.yaml +171 -0
  133. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/model/template/model_template_qwen.yaml +106 -0
  134. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/common/oauth_schema.json +42 -0
  135. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/bocha_search.yaml +179 -0
  136. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/chestnut_sign.yaml +50 -0
  137. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/gaode_map.yaml +754 -0
  138. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/image_compression.yaml +58 -0
  139. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_authentication_authorization.yaml +56 -0
  140. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_base.yaml +1172 -0
  141. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_calendar.yaml +479 -0
  142. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_docx.yaml +552 -0
  143. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_message.yaml +499 -0
  144. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_sheet.yaml +795 -0
  145. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_task.yaml +409 -0
  146. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/lark_wiki.yaml +95 -0
  147. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/library_search.yaml +73 -0
  148. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/maker_smart_design.yaml +82 -0
  149. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/plugin_meta.yaml +913 -0
  150. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/sky_eye_check.yaml +431 -0
  151. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/sohu_hot_news.yaml +69 -0
  152. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/wolfram_alpha.yaml +100 -0
  153. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/plugin/pluginproduct/worth_buying.yaml +77 -0
  154. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/prompt/messages_to_query_template_jinja2.json +10 -0
  155. iamt/composes/5558AIWORKFLOW/coze_studio/backend/conf/prompt/nl2sql_template_jinja2.json +10 -0
  156. iamt/composes/5558AIWORKFLOW/coze_studio/docker-compose.yml +549 -0
  157. iamt/composes/5558AIWORKFLOW/coze_studio/proxy/go.mod +3 -0
  158. iamt/composes/5558AIWORKFLOW/coze_studio/proxy/proxy.go +100 -0
  159. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/elasticsearch/analysis-smartcn.zip +0 -0
  160. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/elasticsearch/elasticsearch.yml +14 -0
  161. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/elasticsearch/es_index_schema/coze_resource.index-template.json +74 -0
  162. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/elasticsearch/es_index_schema/project_draft.index-template.json +79 -0
  163. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/elasticsearch/setup_es.sh +142 -0
  164. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/etcd/etcd.conf.yml +0 -0
  165. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/.mc/config.json +1 -0
  166. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/claude_v2.png +0 -0
  167. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/connector-api.jpg +0 -0
  168. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/connector-chat-sdk.jpg +0 -0
  169. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/connector-coze.png +0 -0
  170. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/deepseek_v2.png +0 -0
  171. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_agent_icon.png +0 -0
  172. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_app_icon.png +0 -0
  173. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_database_icon.png +0 -0
  174. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_dataset_icon.png +0 -0
  175. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_prompt_icon.png +0 -0
  176. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/default_workflow_icon.png +0 -0
  177. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/doubao_v2.png +0 -0
  178. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/gemini_v2.png +0 -0
  179. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/image_kn_default_icon.png +0 -0
  180. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/ollama.png +0 -0
  181. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/openai_v2.png +0 -0
  182. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/plugin_default_icon.png +0 -0
  183. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/qwen_v2.png +0 -0
  184. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_10coz_folder.png +0 -0
  185. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_11coz_trans_switch.png +0 -0
  186. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_12coz_location.png +0 -0
  187. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_13coz_link.png +0 -0
  188. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_14coz_clock.png +0 -0
  189. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_1coz_ai.png +0 -0
  190. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_2icon_ai_writing.png +0 -0
  191. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_3coz_imageflow.png +0 -0
  192. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_4icon_aisearch.png +0 -0
  193. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_5icon_summary.png +0 -0
  194. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_6icon_digest.png +0 -0
  195. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_7icon_video.png +0 -0
  196. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_8icon_audio.png +0 -0
  197. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/shortcut_9coz_variables.png +0 -0
  198. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/table_kn_default_icon.png +0 -0
  199. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/team_default_icon.png +0 -0
  200. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/template_7416518827749425204.png +0 -0
  201. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/template_7418535986059067392.png +0 -0
  202. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/text_kn_default_icon.png +0 -0
  203. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/default_icon/user_default_icon.png +0 -0
  204. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_ai_ppt.jpeg +0 -0
  205. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_bocha_search.jpeg +0 -0
  206. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_chat_ppt.png +0 -0
  207. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_chestnut_sign.png +0 -0
  208. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_constellation.png +0 -0
  209. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_gaode_map.jpeg +0 -0
  210. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_image_compression.jpeg +0 -0
  211. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_authentication_authorization.png +0 -0
  212. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_base.png +0 -0
  213. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_calendar.png +0 -0
  214. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_docx.png +0 -0
  215. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_message.png +0 -0
  216. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_sheet.png +0 -0
  217. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_task.png +0 -0
  218. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_lark_wiki.png +0 -0
  219. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_library_search.png +0 -0
  220. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_liepin.png +0 -0
  221. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_maker_smart_design.png +0 -0
  222. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_sky_eye_check.jpeg +0 -0
  223. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_sohu_hot_news.png +0 -0
  224. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_wolfram_alpha.png +0 -0
  225. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/minio/official_plugin_icon/plugin_worth_buying.jpeg +0 -0
  226. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/mysql/schema.sql +836 -0
  227. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/mysql/sql_init.sql +666 -0
  228. iamt/composes/5558AIWORKFLOW/coze_studio/volumes/rocketmq/broker.conf +28 -0
  229. iamt/composes/5558AIWORKFLOW/dify/.env +1090 -0
  230. iamt/composes/5558AIWORKFLOW/dify/.rdm.md +11 -0
  231. iamt/composes/5558AIWORKFLOW/dify/certbot/README.md +76 -0
  232. iamt/composes/5558AIWORKFLOW/dify/certbot/docker-entrypoint.sh +30 -0
  233. iamt/composes/5558AIWORKFLOW/dify/certbot/update-cert.template.txt +19 -0
  234. iamt/composes/5558AIWORKFLOW/dify/couchbase-server/Dockerfile +4 -0
  235. iamt/composes/5558AIWORKFLOW/dify/couchbase-server/init-cbserver.sh +44 -0
  236. iamt/composes/5558AIWORKFLOW/dify/docker-compose.yml +1174 -0
  237. iamt/composes/5558AIWORKFLOW/dify/elasticsearch/docker-entrypoint.sh +25 -0
  238. iamt/composes/5558AIWORKFLOW/dify/image.png +0 -0
  239. iamt/composes/5558AIWORKFLOW/dify/nginx/conf.d/default.conf.template +48 -0
  240. iamt/composes/5558AIWORKFLOW/dify/nginx/docker-entrypoint.sh +42 -0
  241. iamt/composes/5558AIWORKFLOW/dify/nginx/https.conf.template +9 -0
  242. iamt/composes/5558AIWORKFLOW/dify/nginx/nginx.conf.template +34 -0
  243. iamt/composes/5558AIWORKFLOW/dify/nginx/proxy.conf.template +11 -0
  244. iamt/composes/5558AIWORKFLOW/dify/nginx/ssl/.gitkeep +0 -0
  245. iamt/composes/5558AIWORKFLOW/dify/pgvector/docker-entrypoint.sh +24 -0
  246. iamt/composes/5558AIWORKFLOW/dify/ssrf_proxy/docker-entrypoint.sh +42 -0
  247. iamt/composes/5558AIWORKFLOW/dify/ssrf_proxy/squid.conf.template +56 -0
  248. iamt/composes/5558AIWORKFLOW/dify/startupscripts/init.sh +13 -0
  249. iamt/composes/5558AIWORKFLOW/dify/startupscripts/init_user.script +10 -0
  250. iamt/composes/5558AIWORKFLOW/dify/tidb/config/pd.toml +4 -0
  251. iamt/composes/5558AIWORKFLOW/dify/tidb/config/tiflash-learner.toml +13 -0
  252. iamt/composes/5558AIWORKFLOW/dify/tidb/config/tiflash.toml +19 -0
  253. iamt/composes/5558AIWORKFLOW/dify/tidb/docker-compose.yaml +62 -0
  254. iamt/composes/5558AIWORKFLOW/dify/volumes/myscale/config/users.d/custom_users_config.xml +17 -0
  255. iamt/composes/5558AIWORKFLOW/dify/volumes/oceanbase/init.d/vec_memory.sql +1 -0
  256. iamt/composes/5558AIWORKFLOW/dify/volumes/opensearch/opensearch_dashboards.yml +222 -0
  257. iamt/composes/5558AIWORKFLOW/dify/volumes/sandbox/conf/config.yaml +14 -0
  258. iamt/composes/5558AIWORKFLOW/dify/volumes/sandbox/conf/config.yaml.example +35 -0
  259. iamt/composes/5558AIWORKFLOW/dify/volumes/sandbox/dependencies/python-requirements.txt +0 -0
  260. iamt/composes/5558AIWORKFLOW/fastgpt/.rdm.md +14 -0
  261. iamt/composes/5558AIWORKFLOW/fastgpt/docker-compose-pgvector.yml +177 -0
  262. iamt/composes/5558AIWORKFLOW/langflow/.rdm.md +9 -0
  263. iamt/composes/5558AIWORKFLOW/langflow/docker-compose.yml +30 -0
  264. iamt/composes/5558AIWORKFLOW/n8n/.env +6 -0
  265. iamt/composes/5558AIWORKFLOW/n8n/.rdm.md +24 -0
  266. iamt/composes/5558AIWORKFLOW/n8n/docker-compose.yml +52 -0
  267. iamt/composes/5558AIWORKFLOW/n8n/init-data.sh +13 -0
  268. iamt/composes/5558AIWORKFLOW/n8n/n8n_storage/.gitkeep +0 -0
  269. iamt/composes/5559MJAPI/midjourney-proxy/.rdm.md +10 -0
  270. iamt/composes/5559MJAPI/midjourney-proxy/docker-compose.yml +0 -0
  271. iamt/composes/5559MJAPI/midjourney-proxy2/.rdm.md +5 -0
  272. iamt/composes/5559MJAPI/midjourney-proxy2/docker-compose.yml +21 -0
  273. iamt/composes/5655PROXY/3xui/.rdm.md +12 -0
  274. iamt/composes/5655PROXY/3xui/docker-compose.yml +15 -0
  275. iamt/composes/5655PROXY/hui/.rdm.md +6 -0
  276. iamt/composes/5655PROXY/hui/docker-compose.yml +18 -0
  277. iamt/composes/5655PROXY/mihomo/.rdm.config.md +17 -0
  278. iamt/composes/5655PROXY/mihomo/.rdm.md +40 -0
  279. iamt/composes/5655PROXY/mihomo/clash_meta_config/config.yaml +584 -0
  280. iamt/composes/5655PROXY/mihomo/clash_meta_config/geoip.metadb +0 -0
  281. iamt/composes/5655PROXY/mihomo/clash_meta_config/sub1.yaml +7 -0
  282. iamt/composes/5655PROXY/mihomo/clash_meta_config/sub2.yaml +56 -0
  283. iamt/composes/5655PROXY/mihomo/docker-compose.yml +33 -0
  284. iamt/composes/5655PROXY/nginx/.rdm +2 -0
  285. iamt/composes/5655PROXY/nginx/docker-compose.yml +21 -0
  286. iamt/composes/5655PROXY/sub-web/.rdm.md +9 -0
  287. iamt/composes/5655PROXY/sub2clash/.rdm.md +3 -0
  288. iamt/composes/5655PROXY/sub2clash/docker-compose.yml +21 -0
  289. iamt/composes/5655PROXY/subconverter/.rdm.md +4 -0
  290. iamt/composes/5655PROXY/v2ray/.rdm.md +3 -0
  291. iamt/composes/5655PROXY/v2raya/.rdm.md +33 -0
  292. iamt/composes/5655PROXY/v2raya/docker-compose.yml +19 -0
  293. iamt/composes/5655PROXY/xui/.rdm.md +3 -0
  294. iamt/composes/5755COMFYUI/akegarasu_lora-scripts/.rdm.md +18 -0
  295. iamt/composes/5755COMFYUI/akegarasu_lora-scripts/Dockerfile-for-Mainland-China +42 -0
  296. iamt/composes/5755COMFYUI/akegarasu_lora-scripts/docker-compose.yml +39 -0
  297. iamt/composes/5755COMFYUI/comfyui_boot/.rdm.md +29 -0
  298. iamt/composes/5755COMFYUI/comfyui_boot/docker-compose.yml +0 -0
  299. iamt/composes/5755COMFYUI/comfyui_boot_cu121/.env +1 -0
  300. iamt/composes/5755COMFYUI/comfyui_boot_cu121/.rdm.md +20 -0
  301. iamt/composes/5755COMFYUI/comfyui_boot_cu121/docker-compose.yml +45 -0
  302. iamt/composes/5755COMFYUI/comfyui_boot_cu121/storage/.gitkeep +0 -0
  303. iamt/composes/5755COMFYUI/comfyui_boot_cu124-cn/.rdm.md +22 -0
  304. iamt/composes/5755COMFYUI/comfyui_boot_cu124-cn/docker-compose.yml +31 -0
  305. iamt/composes/5755COMFYUI/comfyui_boot_minimal/.rdm.md +26 -0
  306. iamt/composes/5755COMFYUI/comfyui_boot_minimal/docker-compose.yml +0 -0
  307. iamt/composes/5755COMFYUI/comfyui_boot_slim/.env +0 -0
  308. iamt/composes/5755COMFYUI/comfyui_boot_slim/.rdm.md +23 -0
  309. iamt/composes/5755COMFYUI/comfyui_boot_slim/docker-compose.yml +24 -0
  310. iamt/composes/5755COMFYUI/swarmui/.rdm.md +5 -0
  311. iamt/composes/5755COMFYUI/swarmui/docker-compose.yml +38 -0
  312. iamt/composes/5855MEDIA/any-listen/.rdm.md +7 -0
  313. iamt/composes/5855MEDIA/any-listen/data/config.cjs +20 -0
  314. iamt/composes/5855MEDIA/any-listen/docker-compose.yml +10 -0
  315. iamt/composes/5855MEDIA/blackcandy/.rdm.md +1 -0
  316. iamt/composes/5855MEDIA/koel/.rdm.md +17 -0
  317. iamt/composes/5855MEDIA/koel/docker-compose.yml +41 -0
  318. iamt/composes/5855MEDIA/navidrome/.rdm.md +15 -0
  319. iamt/composes/5855MEDIA/navidrome/docker-compose.yml +15 -0
  320. iamt/composes/5955BACKUP/gobackup/.rdm.md +9 -0
  321. iamt/composes/5955BACKUP/gobackup/docker-compose.yml +19 -0
  322. iamt/composes/5955BACKUP/gobackup/gobackup/gobackup.yml +5 -0
  323. iamt/composes/5955BACKUP/rclone/.rdm.md +6 -0
  324. iamt/composes/5955BACKUP/rclone/docker-compose.yml +0 -0
  325. iamt/composes/5965SYNC/verysync/.rdm.md +16 -0
  326. iamt/composes/5965SYNC/verysync/docker-compose.yml +22 -0
  327. iamt/composes/6055DATABASE/adminer/.rdm.md +13 -0
  328. iamt/composes/6055DATABASE/cloudbeaver/.rdm.md +10 -0
  329. iamt/composes/6055DATABASE/mongodb/.env +7 -0
  330. iamt/composes/6055DATABASE/mongodb/.rdm.md +8 -0
  331. iamt/composes/6055DATABASE/mongodb/docker-compose.yml +24 -0
  332. iamt/composes/6055DATABASE/mongodbExpress/.env +10 -0
  333. iamt/composes/6055DATABASE/mongodbExpress/.rdm.md +14 -0
  334. iamt/composes/6055DATABASE/mongodbExpress/docker-compose.yml +24 -0
  335. iamt/composes/6055DATABASE/mysql/.env +0 -0
  336. iamt/composes/6055DATABASE/mysql/.rdm.md +0 -0
  337. iamt/composes/6055DATABASE/mysql/docker-compose.yml +26 -0
  338. iamt/composes/6055DATABASE/mysql/my.cnf +107 -0
  339. iamt/composes/6155AUTH/authentik/.env +10 -0
  340. iamt/composes/6155AUTH/authentik/.rdm.md +7 -0
  341. iamt/composes/6155AUTH/authentik/docker-compose.yml +90 -0
  342. iamt/composes/6155AUTH/casdoor/conf/app.conf +30 -0
  343. iamt/composes/6155AUTH/casdoor/docker-compose.yml +20 -0
  344. iamt/composes/6255Monitor/dcgm_exporter/.rdm.md +5 -0
  345. iamt/composes/6255Monitor/dcgm_exporter/docker-compose.yml +34 -0
  346. iamt/composes/6255Monitor/grafana/.env +5 -0
  347. iamt/composes/6255Monitor/grafana/.rdm.md +0 -0
  348. iamt/composes/6255Monitor/grafana/docker-compose.yml +22 -0
  349. iamt/composes/6255Monitor/node_exporter/.env +1 -0
  350. iamt/composes/6255Monitor/node_exporter/docker-compose.yml +19 -0
  351. iamt/composes/6255Monitor/prometheus/.env +6 -0
  352. iamt/composes/6255Monitor/prometheus/.rdm.md +8 -0
  353. iamt/composes/6255Monitor/prometheus/conf/prometheus.yml +39 -0
  354. iamt/composes/6255Monitor/prometheus/docker-compose.yml +28 -0
  355. iamt/composes/6255Monitor/prometheus/prometheus/.gitkeep +0 -0
  356. iamt/composes/6355SSL/certbot/.rdm.md +4 -0
  357. iamt/composes/6355SSL/certd/.rdm.md +4 -0
  358. iamt/composes/6355SSL/certimate/.rdm.md +23 -0
  359. iamt/composes/6355SSL/certimate/docker-compose.yml +17 -0
  360. iamt/composes/6455Storage/fileBrowser/.env +5 -0
  361. iamt/composes/6455Storage/fileBrowser/.rdm.md +17 -0
  362. iamt/composes/6455Storage/fileBrowser/docker-compose.yml +14 -0
  363. iamt/composes/6455Storage/fileBrowser/filebrowser.db +0 -0
  364. iamt/composes/6455Storage/fileBrowser/settings.json +8 -0
  365. iamt/composes/6455Storage/kskypro/.env +3 -0
  366. iamt/composes/6455Storage/kskypro/.rdm.md +30 -0
  367. iamt/composes/6455Storage/kskypro/buildimg/000-default.conf.template +45 -0
  368. iamt/composes/6455Storage/kskypro/buildimg/Dockerfile +97 -0
  369. iamt/composes/6455Storage/kskypro/buildimg/LICENSE +661 -0
  370. iamt/composes/6455Storage/kskypro/buildimg/entrypoint.sh +29 -0
  371. iamt/composes/6455Storage/kskypro/buildimg/ports.conf.template +2 -0
  372. iamt/composes/6455Storage/kskypro/buildimg/ssl/certs/ssl-cert-snakeoil.pem +21 -0
  373. iamt/composes/6455Storage/kskypro/buildimg/ssl/private/ssl-cert-snakeoil.key +28 -0
  374. iamt/composes/6455Storage/kskypro/docker-compose.yml +43 -0
  375. iamt/composes/6455Storage/kskypro/env.conf +43 -0
  376. iamt/composes/6455Storage/kskypro/mysql/conf/.gitkeep +0 -0
  377. iamt/composes/6455Storage/kskypro/mysql/data/.gitkeep +0 -0
  378. iamt/composes/6455Storage/kskypro/mysql/log/.gitkeep +0 -0
  379. iamt/composes/6455Storage/lskypro/.rdm.md +15 -0
  380. iamt/composes/6455Storage/lskypro/Dockerfile +12 -0
  381. iamt/composes/6455Storage/lskypro/docker-compose.yml +51 -0
  382. iamt/composes/6455Storage/minio/.rdm.md +1 -0
  383. iamt/composes/6455Storage/minio/docker-compose.yml +31 -0
  384. iamt/composes/6455Storage/nextcloud/.rdm.md +0 -0
  385. iamt/composes/6455Storage/nextcloud/docker-compose.yml +25 -0
  386. iamt/composes/6455Storage/seafile/.env +46 -0
  387. iamt/composes/6455Storage/seafile/.rdm.md +31 -0
  388. iamt/composes/6455Storage/seafile/caddy.yml +26 -0
  389. iamt/composes/6455Storage/seafile/seadoc.yml +39 -0
  390. iamt/composes/6455Storage/seafile/seafile-server.yml +79 -0
  391. iamt/composes/6555DNS/ddnsgo/.env +8 -0
  392. iamt/composes/6555DNS/ddnsgo/.rdm.md +7 -0
  393. iamt/composes/6555DNS/ddnsgo/docker-compose.yml +17 -0
  394. iamt/composes/6555DNS/lucky/.rdm.md +4 -0
  395. iamt/composes/6555DNS/lucky/docker-compose.yml +14 -0
  396. iamt/composes/6655CONTAINER/harbor/.rdm.md +1 -0
  397. iamt/composes/6755SHOP/dujiaoka/.rdm.md +10 -0
  398. iamt/composes/6755SHOP/dujiaoka/docker-compose.yml +37 -0
  399. iamt/composes/6755SHOP/dujiaoka/env.conf +46 -0
  400. iamt/composes/6755SHOP/dujiaoka/storage/.gitkeep +0 -0
  401. iamt/composes/6755SHOP/dujiaoka/uploads/.gitkeep +0 -0
  402. iamt/composes/6755SHOP/dujiaoka2/.rdm.md +3 -0
  403. iamt/composes/8888Others/apitable/docker-compose.yml +233 -0
  404. iamt/composes/8888Others/changeDetect/README +18 -0
  405. iamt/composes/8888Others/changeDetect/docker-compose.yml +44 -0
  406. iamt/composes/8888Others/codeServer/.rdm.md +7 -0
  407. iamt/composes/8888Others/codeServer/docker-compose.yml +39 -0
  408. iamt/composes/8888Others/douyin_tiktok_download_api/.rdm.md +19 -0
  409. iamt/composes/8888Others/douyin_tiktok_download_api/config.yaml +32 -0
  410. iamt/composes/8888Others/douyin_tiktok_download_api/docker-compose.yml +17 -0
  411. iamt/composes/8888Others/kasmweb_chrome/.rdm.md +19 -0
  412. iamt/composes/8888Others/kasmweb_chrome/docker-compose.yml +17 -0
  413. iamt/composes/8888Others/meilisearch/.env +10 -0
  414. iamt/composes/8888Others/meilisearch/config/config.toml +132 -0
  415. iamt/composes/8888Others/meilisearch/docker-compose.yml +34 -0
  416. iamt/composes/8888Others/memcached/.env +8 -0
  417. iamt/composes/8888Others/memcached/docker-compose.yml +20 -0
  418. iamt/composes/8888Others/minio/docker-compose.yml +20 -0
  419. iamt/composes/8888Others/minio/minio +9 -0
  420. iamt/composes/8888Others/neko/README.md +11 -0
  421. iamt/composes/8888Others/neko/docker-compose.yml +16 -0
  422. iamt/composes/8888Others/ocrmypdf/README.md +14 -0
  423. iamt/composes/8888Others/outline/docker-compose.yml +76 -0
  424. iamt/composes/8888Others/outline/docker.env +164 -0
  425. iamt/composes/8888Others/outline/redis.conf +0 -0
  426. iamt/composes/8888Others/pandas_ai/.rdm.md +5 -0
  427. iamt/composes/8888Others/pandas_ai/docker-compose.yml +49 -0
  428. iamt/composes/8888Others/rancher/.rdm.md +4 -0
  429. iamt/composes/8888Others/rustdesk/.env +10 -0
  430. iamt/composes/8888Others/rustdesk/docker-compose.yml +29 -0
  431. iamt/composes/8888Others/ttrss/docker-compose.yml +74 -0
  432. iamt/composes/8888Others/vultrCLI/.rdm.md +9 -0
  433. iamt/composes/8888Others/wewerss/docker-compose.yml +44 -0
  434. iamt/dcd/dcd.py +337 -0
  435. iamt/decorators/singleton.py +224 -0
  436. iamt/modules/_utils/_utils.py +1 -0
  437. iamt/modules/_utils/arch.py +22 -0
  438. iamt/modules/_utils/cleanup_network_config.py +68 -0
  439. iamt/modules/_utils/github.py +123 -0
  440. iamt/modules/_utils/setup_apt_sources.py +94 -0
  441. iamt/modules/_utils/steps.py +26 -0
  442. iamt/modules/claudecode/claudecode.py +0 -0
  443. iamt/modules/dcdtask/dcdtask.py +164 -0
  444. iamt/modules/docker/docker.py +370 -0
  445. iamt/modules/docker/roles/role.py +54 -0
  446. iamt/modules/docker/templates/daemon/daemon_multi_mirrors.json +21 -0
  447. iamt/modules/docker/templates/gpgkey/debian_gpgkey +62 -0
  448. iamt/modules/docker/templates/gpgkey/ubuntu_gpgkey +62 -0
  449. iamt/modules/github/ghcli.py +197 -0
  450. iamt/modules/nvm/nvm.py +183 -0
  451. iamt/modules/nvm/roles/role.py +24 -0
  452. iamt/modules/runlinetask/runlinetask.py +22 -0
  453. iamt/modules/ubuntud/antigravity.py +191 -0
  454. iamt/modules/ubuntud/chrome.py +111 -0
  455. iamt/modules/ubuntud/fcitx5.py +0 -0
  456. iamt/modules/ubuntud/ibus.py +53 -0
  457. iamt/modules/ubuntud/kiro.py +41 -0
  458. iamt/modules/ubuntud/rime_ice.py +173 -0
  459. iamt/modules/ubuntud/roles/role.py +28 -0
  460. iamt/modules/ubuntud/templates/ibus/ibus_rime.custom.yaml +3 -0
  461. iamt/modules/ubuntud/v2ray-core.py +238 -0
  462. iamt/modules/ubuntud/v2rayN.py +127 -0
  463. iamt/modules/ubuntud/vscode.py +162 -0
  464. iamt/modules/uv/roles/role.py +56 -0
  465. iamt/modules/uv/templates/uv.toml +5 -0
  466. iamt/modules/uv/uv.py +315 -0
  467. iamt/modules/vagrant/templates/Vagrantfile +25 -0
  468. iamt/modules/vagrant/vagrant.py +91 -0
  469. iamt/modules/vboxinit/base_box_init.py +142 -0
  470. iamt/modules/vboxinit/roles/role.py +15 -0
  471. iamt/role/role.py +134 -0
  472. iamt/run_file/run_file.py +121 -0
  473. iamt/run_line/commands.py +70 -0
  474. iamt/run_line/run_line.py +78 -0
  475. iamt/task/task.py +108 -0
  476. iamt/utils/__init__.py +6 -0
  477. iamt/utils/config_saver.py +90 -0
  478. iamt/utils/task_tracker.py +136 -0
  479. iamt-1.1.27.dist-info/METADATA +19 -0
  480. iamt-1.1.27.dist-info/RECORD +482 -0
  481. iamt-1.1.27.dist-info/WHEEL +4 -0
  482. iamt-1.1.27.dist-info/entry_points.txt +5 -0
@@ -0,0 +1,1174 @@
1
+ # ==================================================================
2
+ # WARNING: This file is auto-generated by generate_docker_compose
3
+ # Do not modify this file directly. Instead, update the .env.example
4
+ # or docker-compose-template.yaml and regenerate this file.
5
+ # ==================================================================
6
+
7
+ x-shared-env: &shared-api-worker-env
8
+ CONSOLE_API_URL: ${CONSOLE_API_URL:-}
9
+ CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-}
10
+ SERVICE_API_URL: ${SERVICE_API_URL:-}
11
+ APP_API_URL: ${APP_API_URL:-}
12
+ APP_WEB_URL: ${APP_WEB_URL:-}
13
+ FILES_URL: ${FILES_URL:-}
14
+ LOG_LEVEL: ${LOG_LEVEL:-INFO}
15
+ LOG_FILE: ${LOG_FILE:-/app/logs/server.log}
16
+ LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20}
17
+ LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5}
18
+ LOG_DATEFORMAT: ${LOG_DATEFORMAT:-%Y-%m-%d %H:%M:%S}
19
+ LOG_TZ: ${LOG_TZ:-UTC}
20
+ DEBUG: ${DEBUG:-false}
21
+ FLASK_DEBUG: ${FLASK_DEBUG:-false}
22
+ SECRET_KEY: ${SECRET_KEY:-sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U}
23
+ INIT_PASSWORD: ${INIT_PASSWORD:-}
24
+ DEPLOY_ENV: ${DEPLOY_ENV:-PRODUCTION}
25
+ CHECK_UPDATE_URL: ${CHECK_UPDATE_URL:-https://updates.dify.ai}
26
+ OPENAI_API_BASE: ${OPENAI_API_BASE:-https://api.openai.com/v1}
27
+ MIGRATION_ENABLED: ${MIGRATION_ENABLED:-true}
28
+ FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}
29
+ ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60}
30
+ REFRESH_TOKEN_EXPIRE_DAYS: ${REFRESH_TOKEN_EXPIRE_DAYS:-30}
31
+ APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0}
32
+ APP_MAX_EXECUTION_TIME: ${APP_MAX_EXECUTION_TIME:-1200}
33
+ DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}
34
+ DIFY_PORT: ${DIFY_PORT:-5001}
35
+ SERVER_WORKER_AMOUNT: ${SERVER_WORKER_AMOUNT:-1}
36
+ SERVER_WORKER_CLASS: ${SERVER_WORKER_CLASS:-gevent}
37
+ SERVER_WORKER_CONNECTIONS: ${SERVER_WORKER_CONNECTIONS:-10}
38
+ CELERY_WORKER_CLASS: ${CELERY_WORKER_CLASS:-}
39
+ GUNICORN_TIMEOUT: ${GUNICORN_TIMEOUT:-360}
40
+ CELERY_WORKER_AMOUNT: ${CELERY_WORKER_AMOUNT:-}
41
+ CELERY_AUTO_SCALE: ${CELERY_AUTO_SCALE:-false}
42
+ CELERY_MAX_WORKERS: ${CELERY_MAX_WORKERS:-}
43
+ CELERY_MIN_WORKERS: ${CELERY_MIN_WORKERS:-}
44
+ API_TOOL_DEFAULT_CONNECT_TIMEOUT: ${API_TOOL_DEFAULT_CONNECT_TIMEOUT:-10}
45
+ API_TOOL_DEFAULT_READ_TIMEOUT: ${API_TOOL_DEFAULT_READ_TIMEOUT:-60}
46
+ ENABLE_WEBSITE_JINAREADER: ${ENABLE_WEBSITE_JINAREADER:-true}
47
+ ENABLE_WEBSITE_FIRECRAWL: ${ENABLE_WEBSITE_FIRECRAWL:-true}
48
+ ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true}
49
+ DB_USERNAME: ${DB_USERNAME:-postgres}
50
+ DB_PASSWORD: ${DB_PASSWORD:-difyai123456}
51
+ DB_HOST: ${DB_HOST:-db}
52
+ DB_PORT: ${DB_PORT:-5432}
53
+ DB_DATABASE: ${DB_DATABASE:-dify}
54
+ SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30}
55
+ SQLALCHEMY_POOL_RECYCLE: ${SQLALCHEMY_POOL_RECYCLE:-3600}
56
+ SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO:-false}
57
+ POSTGRES_MAX_CONNECTIONS: ${POSTGRES_MAX_CONNECTIONS:-100}
58
+ POSTGRES_SHARED_BUFFERS: ${POSTGRES_SHARED_BUFFERS:-128MB}
59
+ POSTGRES_WORK_MEM: ${POSTGRES_WORK_MEM:-4MB}
60
+ POSTGRES_MAINTENANCE_WORK_MEM: ${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}
61
+ POSTGRES_EFFECTIVE_CACHE_SIZE: ${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}
62
+ REDIS_HOST: ${REDIS_HOST:-redis}
63
+ REDIS_PORT: ${REDIS_PORT:-6379}
64
+ REDIS_USERNAME: ${REDIS_USERNAME:-}
65
+ REDIS_PASSWORD: ${REDIS_PASSWORD:-difyai123456}
66
+ REDIS_USE_SSL: ${REDIS_USE_SSL:-false}
67
+ REDIS_DB: ${REDIS_DB:-0}
68
+ REDIS_USE_SENTINEL: ${REDIS_USE_SENTINEL:-false}
69
+ REDIS_SENTINELS: ${REDIS_SENTINELS:-}
70
+ REDIS_SENTINEL_SERVICE_NAME: ${REDIS_SENTINEL_SERVICE_NAME:-}
71
+ REDIS_SENTINEL_USERNAME: ${REDIS_SENTINEL_USERNAME:-}
72
+ REDIS_SENTINEL_PASSWORD: ${REDIS_SENTINEL_PASSWORD:-}
73
+ REDIS_SENTINEL_SOCKET_TIMEOUT: ${REDIS_SENTINEL_SOCKET_TIMEOUT:-0.1}
74
+ REDIS_USE_CLUSTERS: ${REDIS_USE_CLUSTERS:-false}
75
+ REDIS_CLUSTERS: ${REDIS_CLUSTERS:-}
76
+ REDIS_CLUSTERS_PASSWORD: ${REDIS_CLUSTERS_PASSWORD:-}
77
+ CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://:difyai123456@redis:6379/1}
78
+ BROKER_USE_SSL: ${BROKER_USE_SSL:-false}
79
+ CELERY_USE_SENTINEL: ${CELERY_USE_SENTINEL:-false}
80
+ CELERY_SENTINEL_MASTER_NAME: ${CELERY_SENTINEL_MASTER_NAME:-}
81
+ CELERY_SENTINEL_SOCKET_TIMEOUT: ${CELERY_SENTINEL_SOCKET_TIMEOUT:-0.1}
82
+ WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS:-*}
83
+ CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS:-*}
84
+ STORAGE_TYPE: ${STORAGE_TYPE:-opendal}
85
+ OPENDAL_SCHEME: ${OPENDAL_SCHEME:-fs}
86
+ OPENDAL_FS_ROOT: ${OPENDAL_FS_ROOT:-storage}
87
+ S3_ENDPOINT: ${S3_ENDPOINT:-}
88
+ S3_REGION: ${S3_REGION:-us-east-1}
89
+ S3_BUCKET_NAME: ${S3_BUCKET_NAME:-difyai}
90
+ S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}
91
+ S3_SECRET_KEY: ${S3_SECRET_KEY:-}
92
+ S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}
93
+ AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai}
94
+ AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai}
95
+ AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container}
96
+ AZURE_BLOB_ACCOUNT_URL: ${AZURE_BLOB_ACCOUNT_URL:-https://<your_account_name>.blob.core.windows.net}
97
+ GOOGLE_STORAGE_BUCKET_NAME: ${GOOGLE_STORAGE_BUCKET_NAME:-your-bucket-name}
98
+ GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ${GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64:-}
99
+ ALIYUN_OSS_BUCKET_NAME: ${ALIYUN_OSS_BUCKET_NAME:-your-bucket-name}
100
+ ALIYUN_OSS_ACCESS_KEY: ${ALIYUN_OSS_ACCESS_KEY:-your-access-key}
101
+ ALIYUN_OSS_SECRET_KEY: ${ALIYUN_OSS_SECRET_KEY:-your-secret-key}
102
+ ALIYUN_OSS_ENDPOINT: ${ALIYUN_OSS_ENDPOINT:-https://oss-ap-southeast-1-internal.aliyuncs.com}
103
+ ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION:-ap-southeast-1}
104
+ ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION:-v4}
105
+ ALIYUN_OSS_PATH: ${ALIYUN_OSS_PATH:-your-path}
106
+ TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME:-your-bucket-name}
107
+ TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY:-your-secret-key}
108
+ TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID:-your-secret-id}
109
+ TENCENT_COS_REGION: ${TENCENT_COS_REGION:-your-region}
110
+ TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME:-your-scheme}
111
+ OCI_ENDPOINT: ${OCI_ENDPOINT:-https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com}
112
+ OCI_BUCKET_NAME: ${OCI_BUCKET_NAME:-your-bucket-name}
113
+ OCI_ACCESS_KEY: ${OCI_ACCESS_KEY:-your-access-key}
114
+ OCI_SECRET_KEY: ${OCI_SECRET_KEY:-your-secret-key}
115
+ OCI_REGION: ${OCI_REGION:-us-ashburn-1}
116
+ HUAWEI_OBS_BUCKET_NAME: ${HUAWEI_OBS_BUCKET_NAME:-your-bucket-name}
117
+ HUAWEI_OBS_SECRET_KEY: ${HUAWEI_OBS_SECRET_KEY:-your-secret-key}
118
+ HUAWEI_OBS_ACCESS_KEY: ${HUAWEI_OBS_ACCESS_KEY:-your-access-key}
119
+ HUAWEI_OBS_SERVER: ${HUAWEI_OBS_SERVER:-your-server-url}
120
+ VOLCENGINE_TOS_BUCKET_NAME: ${VOLCENGINE_TOS_BUCKET_NAME:-your-bucket-name}
121
+ VOLCENGINE_TOS_SECRET_KEY: ${VOLCENGINE_TOS_SECRET_KEY:-your-secret-key}
122
+ VOLCENGINE_TOS_ACCESS_KEY: ${VOLCENGINE_TOS_ACCESS_KEY:-your-access-key}
123
+ VOLCENGINE_TOS_ENDPOINT: ${VOLCENGINE_TOS_ENDPOINT:-your-server-url}
124
+ VOLCENGINE_TOS_REGION: ${VOLCENGINE_TOS_REGION:-your-region}
125
+ BAIDU_OBS_BUCKET_NAME: ${BAIDU_OBS_BUCKET_NAME:-your-bucket-name}
126
+ BAIDU_OBS_SECRET_KEY: ${BAIDU_OBS_SECRET_KEY:-your-secret-key}
127
+ BAIDU_OBS_ACCESS_KEY: ${BAIDU_OBS_ACCESS_KEY:-your-access-key}
128
+ BAIDU_OBS_ENDPOINT: ${BAIDU_OBS_ENDPOINT:-your-server-url}
129
+ SUPABASE_BUCKET_NAME: ${SUPABASE_BUCKET_NAME:-your-bucket-name}
130
+ SUPABASE_API_KEY: ${SUPABASE_API_KEY:-your-access-key}
131
+ SUPABASE_URL: ${SUPABASE_URL:-your-server-url}
132
+ VECTOR_STORE: ${VECTOR_STORE:-weaviate}
133
+ WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080}
134
+ WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
135
+ QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333}
136
+ QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456}
137
+ QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT:-20}
138
+ QDRANT_GRPC_ENABLED: ${QDRANT_GRPC_ENABLED:-false}
139
+ QDRANT_GRPC_PORT: ${QDRANT_GRPC_PORT:-6334}
140
+ MILVUS_URI: ${MILVUS_URI:-http://host.docker.internal:19530}
141
+ MILVUS_DATABASE: ${MILVUS_DATABASE:-}
142
+ MILVUS_TOKEN: ${MILVUS_TOKEN:-}
143
+ MILVUS_USER: ${MILVUS_USER:-}
144
+ MILVUS_PASSWORD: ${MILVUS_PASSWORD:-}
145
+ MILVUS_ENABLE_HYBRID_SEARCH: ${MILVUS_ENABLE_HYBRID_SEARCH:-False}
146
+ MILVUS_ANALYZER_PARAMS: ${MILVUS_ANALYZER_PARAMS:-}
147
+ MYSCALE_HOST: ${MYSCALE_HOST:-myscale}
148
+ MYSCALE_PORT: ${MYSCALE_PORT:-8123}
149
+ MYSCALE_USER: ${MYSCALE_USER:-default}
150
+ MYSCALE_PASSWORD: ${MYSCALE_PASSWORD:-}
151
+ MYSCALE_DATABASE: ${MYSCALE_DATABASE:-dify}
152
+ MYSCALE_FTS_PARAMS: ${MYSCALE_FTS_PARAMS:-}
153
+ COUCHBASE_CONNECTION_STRING: ${COUCHBASE_CONNECTION_STRING:-couchbase://couchbase-server}
154
+ COUCHBASE_USER: ${COUCHBASE_USER:-Administrator}
155
+ COUCHBASE_PASSWORD: ${COUCHBASE_PASSWORD:-password}
156
+ COUCHBASE_BUCKET_NAME: ${COUCHBASE_BUCKET_NAME:-Embeddings}
157
+ COUCHBASE_SCOPE_NAME: ${COUCHBASE_SCOPE_NAME:-_default}
158
+ PGVECTOR_HOST: ${PGVECTOR_HOST:-pgvector}
159
+ PGVECTOR_PORT: ${PGVECTOR_PORT:-5432}
160
+ PGVECTOR_USER: ${PGVECTOR_USER:-postgres}
161
+ PGVECTOR_PASSWORD: ${PGVECTOR_PASSWORD:-difyai123456}
162
+ PGVECTOR_DATABASE: ${PGVECTOR_DATABASE:-dify}
163
+ PGVECTOR_MIN_CONNECTION: ${PGVECTOR_MIN_CONNECTION:-1}
164
+ PGVECTOR_MAX_CONNECTION: ${PGVECTOR_MAX_CONNECTION:-5}
165
+ PGVECTOR_PG_BIGM: ${PGVECTOR_PG_BIGM:-false}
166
+ PGVECTOR_PG_BIGM_VERSION: ${PGVECTOR_PG_BIGM_VERSION:-1.2-20240606}
167
+ VASTBASE_HOST: ${VASTBASE_HOST:-vastbase}
168
+ VASTBASE_PORT: ${VASTBASE_PORT:-5432}
169
+ VASTBASE_USER: ${VASTBASE_USER:-dify}
170
+ VASTBASE_PASSWORD: ${VASTBASE_PASSWORD:-Difyai123456}
171
+ VASTBASE_DATABASE: ${VASTBASE_DATABASE:-dify}
172
+ VASTBASE_MIN_CONNECTION: ${VASTBASE_MIN_CONNECTION:-1}
173
+ VASTBASE_MAX_CONNECTION: ${VASTBASE_MAX_CONNECTION:-5}
174
+ PGVECTO_RS_HOST: ${PGVECTO_RS_HOST:-pgvecto-rs}
175
+ PGVECTO_RS_PORT: ${PGVECTO_RS_PORT:-5432}
176
+ PGVECTO_RS_USER: ${PGVECTO_RS_USER:-postgres}
177
+ PGVECTO_RS_PASSWORD: ${PGVECTO_RS_PASSWORD:-difyai123456}
178
+ PGVECTO_RS_DATABASE: ${PGVECTO_RS_DATABASE:-dify}
179
+ ANALYTICDB_KEY_ID: ${ANALYTICDB_KEY_ID:-your-ak}
180
+ ANALYTICDB_KEY_SECRET: ${ANALYTICDB_KEY_SECRET:-your-sk}
181
+ ANALYTICDB_REGION_ID: ${ANALYTICDB_REGION_ID:-cn-hangzhou}
182
+ ANALYTICDB_INSTANCE_ID: ${ANALYTICDB_INSTANCE_ID:-gp-ab123456}
183
+ ANALYTICDB_ACCOUNT: ${ANALYTICDB_ACCOUNT:-testaccount}
184
+ ANALYTICDB_PASSWORD: ${ANALYTICDB_PASSWORD:-testpassword}
185
+ ANALYTICDB_NAMESPACE: ${ANALYTICDB_NAMESPACE:-dify}
186
+ ANALYTICDB_NAMESPACE_PASSWORD: ${ANALYTICDB_NAMESPACE_PASSWORD:-difypassword}
187
+ ANALYTICDB_HOST: ${ANALYTICDB_HOST:-gp-test.aliyuncs.com}
188
+ ANALYTICDB_PORT: ${ANALYTICDB_PORT:-5432}
189
+ ANALYTICDB_MIN_CONNECTION: ${ANALYTICDB_MIN_CONNECTION:-1}
190
+ ANALYTICDB_MAX_CONNECTION: ${ANALYTICDB_MAX_CONNECTION:-5}
191
+ TIDB_VECTOR_HOST: ${TIDB_VECTOR_HOST:-tidb}
192
+ TIDB_VECTOR_PORT: ${TIDB_VECTOR_PORT:-4000}
193
+ TIDB_VECTOR_USER: ${TIDB_VECTOR_USER:-}
194
+ TIDB_VECTOR_PASSWORD: ${TIDB_VECTOR_PASSWORD:-}
195
+ TIDB_VECTOR_DATABASE: ${TIDB_VECTOR_DATABASE:-dify}
196
+ TIDB_ON_QDRANT_URL: ${TIDB_ON_QDRANT_URL:-http://127.0.0.1}
197
+ TIDB_ON_QDRANT_API_KEY: ${TIDB_ON_QDRANT_API_KEY:-dify}
198
+ TIDB_ON_QDRANT_CLIENT_TIMEOUT: ${TIDB_ON_QDRANT_CLIENT_TIMEOUT:-20}
199
+ TIDB_ON_QDRANT_GRPC_ENABLED: ${TIDB_ON_QDRANT_GRPC_ENABLED:-false}
200
+ TIDB_ON_QDRANT_GRPC_PORT: ${TIDB_ON_QDRANT_GRPC_PORT:-6334}
201
+ TIDB_PUBLIC_KEY: ${TIDB_PUBLIC_KEY:-dify}
202
+ TIDB_PRIVATE_KEY: ${TIDB_PRIVATE_KEY:-dify}
203
+ TIDB_API_URL: ${TIDB_API_URL:-http://127.0.0.1}
204
+ TIDB_IAM_API_URL: ${TIDB_IAM_API_URL:-http://127.0.0.1}
205
+ TIDB_REGION: ${TIDB_REGION:-regions/aws-us-east-1}
206
+ TIDB_PROJECT_ID: ${TIDB_PROJECT_ID:-dify}
207
+ TIDB_SPEND_LIMIT: ${TIDB_SPEND_LIMIT:-100}
208
+ CHROMA_HOST: ${CHROMA_HOST:-127.0.0.1}
209
+ CHROMA_PORT: ${CHROMA_PORT:-8000}
210
+ CHROMA_TENANT: ${CHROMA_TENANT:-default_tenant}
211
+ CHROMA_DATABASE: ${CHROMA_DATABASE:-default_database}
212
+ CHROMA_AUTH_PROVIDER: ${CHROMA_AUTH_PROVIDER:-chromadb.auth.token_authn.TokenAuthClientProvider}
213
+ CHROMA_AUTH_CREDENTIALS: ${CHROMA_AUTH_CREDENTIALS:-}
214
+ ORACLE_USER: ${ORACLE_USER:-dify}
215
+ ORACLE_PASSWORD: ${ORACLE_PASSWORD:-dify}
216
+ ORACLE_DSN: ${ORACLE_DSN:-oracle:1521/FREEPDB1}
217
+ ORACLE_CONFIG_DIR: ${ORACLE_CONFIG_DIR:-/app/api/storage/wallet}
218
+ ORACLE_WALLET_LOCATION: ${ORACLE_WALLET_LOCATION:-/app/api/storage/wallet}
219
+ ORACLE_WALLET_PASSWORD: ${ORACLE_WALLET_PASSWORD:-dify}
220
+ ORACLE_IS_AUTONOMOUS: ${ORACLE_IS_AUTONOMOUS:-false}
221
+ RELYT_HOST: ${RELYT_HOST:-db}
222
+ RELYT_PORT: ${RELYT_PORT:-5432}
223
+ RELYT_USER: ${RELYT_USER:-postgres}
224
+ RELYT_PASSWORD: ${RELYT_PASSWORD:-difyai123456}
225
+ RELYT_DATABASE: ${RELYT_DATABASE:-postgres}
226
+ OPENSEARCH_HOST: ${OPENSEARCH_HOST:-opensearch}
227
+ OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200}
228
+ OPENSEARCH_USER: ${OPENSEARCH_USER:-admin}
229
+ OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD:-admin}
230
+ OPENSEARCH_SECURE: ${OPENSEARCH_SECURE:-true}
231
+ TENCENT_VECTOR_DB_URL: ${TENCENT_VECTOR_DB_URL:-http://127.0.0.1}
232
+ TENCENT_VECTOR_DB_API_KEY: ${TENCENT_VECTOR_DB_API_KEY:-dify}
233
+ TENCENT_VECTOR_DB_TIMEOUT: ${TENCENT_VECTOR_DB_TIMEOUT:-30}
234
+ TENCENT_VECTOR_DB_USERNAME: ${TENCENT_VECTOR_DB_USERNAME:-dify}
235
+ TENCENT_VECTOR_DB_DATABASE: ${TENCENT_VECTOR_DB_DATABASE:-dify}
236
+ TENCENT_VECTOR_DB_SHARD: ${TENCENT_VECTOR_DB_SHARD:-1}
237
+ TENCENT_VECTOR_DB_REPLICAS: ${TENCENT_VECTOR_DB_REPLICAS:-2}
238
+ TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: ${TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH:-false}
239
+ ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-0.0.0.0}
240
+ ELASTICSEARCH_PORT: ${ELASTICSEARCH_PORT:-9200}
241
+ ELASTICSEARCH_USERNAME: ${ELASTICSEARCH_USERNAME:-elastic}
242
+ ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASSWORD:-elastic}
243
+ KIBANA_PORT: ${KIBANA_PORT:-5601}
244
+ BAIDU_VECTOR_DB_ENDPOINT: ${BAIDU_VECTOR_DB_ENDPOINT:-http://127.0.0.1:5287}
245
+ BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: ${BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS:-30000}
246
+ BAIDU_VECTOR_DB_ACCOUNT: ${BAIDU_VECTOR_DB_ACCOUNT:-root}
247
+ BAIDU_VECTOR_DB_API_KEY: ${BAIDU_VECTOR_DB_API_KEY:-dify}
248
+ BAIDU_VECTOR_DB_DATABASE: ${BAIDU_VECTOR_DB_DATABASE:-dify}
249
+ BAIDU_VECTOR_DB_SHARD: ${BAIDU_VECTOR_DB_SHARD:-1}
250
+ BAIDU_VECTOR_DB_REPLICAS: ${BAIDU_VECTOR_DB_REPLICAS:-3}
251
+ VIKINGDB_ACCESS_KEY: ${VIKINGDB_ACCESS_KEY:-your-ak}
252
+ VIKINGDB_SECRET_KEY: ${VIKINGDB_SECRET_KEY:-your-sk}
253
+ VIKINGDB_REGION: ${VIKINGDB_REGION:-cn-shanghai}
254
+ VIKINGDB_HOST: ${VIKINGDB_HOST:-api-vikingdb.xxx.volces.com}
255
+ VIKINGDB_SCHEMA: ${VIKINGDB_SCHEMA:-http}
256
+ VIKINGDB_CONNECTION_TIMEOUT: ${VIKINGDB_CONNECTION_TIMEOUT:-30}
257
+ VIKINGDB_SOCKET_TIMEOUT: ${VIKINGDB_SOCKET_TIMEOUT:-30}
258
+ LINDORM_URL: ${LINDORM_URL:-http://lindorm:30070}
259
+ LINDORM_USERNAME: ${LINDORM_USERNAME:-lindorm}
260
+ LINDORM_PASSWORD: ${LINDORM_PASSWORD:-lindorm}
261
+ LINDORM_QUERY_TIMEOUT: ${LINDORM_QUERY_TIMEOUT:-1}
262
+ OCEANBASE_VECTOR_HOST: ${OCEANBASE_VECTOR_HOST:-oceanbase}
263
+ OCEANBASE_VECTOR_PORT: ${OCEANBASE_VECTOR_PORT:-2881}
264
+ OCEANBASE_VECTOR_USER: ${OCEANBASE_VECTOR_USER:-root@test}
265
+ OCEANBASE_VECTOR_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456}
266
+ OCEANBASE_VECTOR_DATABASE: ${OCEANBASE_VECTOR_DATABASE:-test}
267
+ OCEANBASE_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
268
+ OCEANBASE_MEMORY_LIMIT: ${OCEANBASE_MEMORY_LIMIT:-6G}
269
+ OCEANBASE_ENABLE_HYBRID_SEARCH: ${OCEANBASE_ENABLE_HYBRID_SEARCH:-false}
270
+ OPENGAUSS_HOST: ${OPENGAUSS_HOST:-opengauss}
271
+ OPENGAUSS_PORT: ${OPENGAUSS_PORT:-6600}
272
+ OPENGAUSS_USER: ${OPENGAUSS_USER:-postgres}
273
+ OPENGAUSS_PASSWORD: ${OPENGAUSS_PASSWORD:-Dify@123}
274
+ OPENGAUSS_DATABASE: ${OPENGAUSS_DATABASE:-dify}
275
+ OPENGAUSS_MIN_CONNECTION: ${OPENGAUSS_MIN_CONNECTION:-1}
276
+ OPENGAUSS_MAX_CONNECTION: ${OPENGAUSS_MAX_CONNECTION:-5}
277
+ OPENGAUSS_ENABLE_PQ: ${OPENGAUSS_ENABLE_PQ:-false}
278
+ HUAWEI_CLOUD_HOSTS: ${HUAWEI_CLOUD_HOSTS:-https://127.0.0.1:9200}
279
+ HUAWEI_CLOUD_USER: ${HUAWEI_CLOUD_USER:-admin}
280
+ HUAWEI_CLOUD_PASSWORD: ${HUAWEI_CLOUD_PASSWORD:-admin}
281
+ UPSTASH_VECTOR_URL: ${UPSTASH_VECTOR_URL:-https://xxx-vector.upstash.io}
282
+ UPSTASH_VECTOR_TOKEN: ${UPSTASH_VECTOR_TOKEN:-dify}
283
+ TABLESTORE_ENDPOINT: ${TABLESTORE_ENDPOINT:-https://instance-name.cn-hangzhou.ots.aliyuncs.com}
284
+ TABLESTORE_INSTANCE_NAME: ${TABLESTORE_INSTANCE_NAME:-instance-name}
285
+ TABLESTORE_ACCESS_KEY_ID: ${TABLESTORE_ACCESS_KEY_ID:-xxx}
286
+ TABLESTORE_ACCESS_KEY_SECRET: ${TABLESTORE_ACCESS_KEY_SECRET:-xxx}
287
+ UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-15}
288
+ UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5}
289
+ ETL_TYPE: ${ETL_TYPE:-dify}
290
+ UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL:-}
291
+ UNSTRUCTURED_API_KEY: ${UNSTRUCTURED_API_KEY:-}
292
+ SCARF_NO_ANALYTICS: ${SCARF_NO_ANALYTICS:-true}
293
+ PROMPT_GENERATION_MAX_TOKENS: ${PROMPT_GENERATION_MAX_TOKENS:-512}
294
+ CODE_GENERATION_MAX_TOKENS: ${CODE_GENERATION_MAX_TOKENS:-1024}
295
+ PLUGIN_BASED_TOKEN_COUNTING_ENABLED: ${PLUGIN_BASED_TOKEN_COUNTING_ENABLED:-false}
296
+ MULTIMODAL_SEND_FORMAT: ${MULTIMODAL_SEND_FORMAT:-base64}
297
+ UPLOAD_IMAGE_FILE_SIZE_LIMIT: ${UPLOAD_IMAGE_FILE_SIZE_LIMIT:-10}
298
+ UPLOAD_VIDEO_FILE_SIZE_LIMIT: ${UPLOAD_VIDEO_FILE_SIZE_LIMIT:-100}
299
+ UPLOAD_AUDIO_FILE_SIZE_LIMIT: ${UPLOAD_AUDIO_FILE_SIZE_LIMIT:-50}
300
+ SENTRY_DSN: ${SENTRY_DSN:-}
301
+ API_SENTRY_DSN: ${API_SENTRY_DSN:-}
302
+ API_SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
303
+ API_SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
304
+ WEB_SENTRY_DSN: ${WEB_SENTRY_DSN:-}
305
+ NOTION_INTEGRATION_TYPE: ${NOTION_INTEGRATION_TYPE:-public}
306
+ NOTION_CLIENT_SECRET: ${NOTION_CLIENT_SECRET:-}
307
+ NOTION_CLIENT_ID: ${NOTION_CLIENT_ID:-}
308
+ NOTION_INTERNAL_SECRET: ${NOTION_INTERNAL_SECRET:-}
309
+ MAIL_TYPE: ${MAIL_TYPE:-resend}
310
+ MAIL_DEFAULT_SEND_FROM: ${MAIL_DEFAULT_SEND_FROM:-}
311
+ RESEND_API_URL: ${RESEND_API_URL:-https://api.resend.com}
312
+ RESEND_API_KEY: ${RESEND_API_KEY:-your-resend-api-key}
313
+ SMTP_SERVER: ${SMTP_SERVER:-}
314
+ SMTP_PORT: ${SMTP_PORT:-465}
315
+ SMTP_USERNAME: ${SMTP_USERNAME:-}
316
+ SMTP_PASSWORD: ${SMTP_PASSWORD:-}
317
+ SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
318
+ SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
319
+ INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-4000}
320
+ INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72}
321
+ RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: ${RESET_PASSWORD_TOKEN_EXPIRY_MINUTES:-5}
322
+ CODE_EXECUTION_ENDPOINT: ${CODE_EXECUTION_ENDPOINT:-http://sandbox:8194}
323
+ CODE_EXECUTION_API_KEY: ${CODE_EXECUTION_API_KEY:-dify-sandbox}
324
+ CODE_MAX_NUMBER: ${CODE_MAX_NUMBER:-9223372036854775807}
325
+ CODE_MIN_NUMBER: ${CODE_MIN_NUMBER:--9223372036854775808}
326
+ CODE_MAX_DEPTH: ${CODE_MAX_DEPTH:-5}
327
+ CODE_MAX_PRECISION: ${CODE_MAX_PRECISION:-20}
328
+ CODE_MAX_STRING_LENGTH: ${CODE_MAX_STRING_LENGTH:-80000}
329
+ CODE_MAX_STRING_ARRAY_LENGTH: ${CODE_MAX_STRING_ARRAY_LENGTH:-30}
330
+ CODE_MAX_OBJECT_ARRAY_LENGTH: ${CODE_MAX_OBJECT_ARRAY_LENGTH:-30}
331
+ CODE_MAX_NUMBER_ARRAY_LENGTH: ${CODE_MAX_NUMBER_ARRAY_LENGTH:-1000}
332
+ CODE_EXECUTION_CONNECT_TIMEOUT: ${CODE_EXECUTION_CONNECT_TIMEOUT:-10}
333
+ CODE_EXECUTION_READ_TIMEOUT: ${CODE_EXECUTION_READ_TIMEOUT:-60}
334
+ CODE_EXECUTION_WRITE_TIMEOUT: ${CODE_EXECUTION_WRITE_TIMEOUT:-10}
335
+ TEMPLATE_TRANSFORM_MAX_LENGTH: ${TEMPLATE_TRANSFORM_MAX_LENGTH:-80000}
336
+ WORKFLOW_MAX_EXECUTION_STEPS: ${WORKFLOW_MAX_EXECUTION_STEPS:-500}
337
+ WORKFLOW_MAX_EXECUTION_TIME: ${WORKFLOW_MAX_EXECUTION_TIME:-1200}
338
+ WORKFLOW_CALL_MAX_DEPTH: ${WORKFLOW_CALL_MAX_DEPTH:-5}
339
+ MAX_VARIABLE_SIZE: ${MAX_VARIABLE_SIZE:-204800}
340
+ WORKFLOW_PARALLEL_DEPTH_LIMIT: ${WORKFLOW_PARALLEL_DEPTH_LIMIT:-3}
341
+ WORKFLOW_FILE_UPLOAD_LIMIT: ${WORKFLOW_FILE_UPLOAD_LIMIT:-10}
342
+ WORKFLOW_NODE_EXECUTION_STORAGE: ${WORKFLOW_NODE_EXECUTION_STORAGE:-rdbms}
343
+ HTTP_REQUEST_NODE_MAX_BINARY_SIZE: ${HTTP_REQUEST_NODE_MAX_BINARY_SIZE:-10485760}
344
+ HTTP_REQUEST_NODE_MAX_TEXT_SIZE: ${HTTP_REQUEST_NODE_MAX_TEXT_SIZE:-1048576}
345
+ HTTP_REQUEST_NODE_SSL_VERIFY: ${HTTP_REQUEST_NODE_SSL_VERIFY:-True}
346
+ SSRF_PROXY_HTTP_URL: ${SSRF_PROXY_HTTP_URL:-http://ssrf_proxy:3128}
347
+ SSRF_PROXY_HTTPS_URL: ${SSRF_PROXY_HTTPS_URL:-http://ssrf_proxy:3128}
348
+ LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100}
349
+ MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10}
350
+ MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10}
351
+ MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-5}
352
+ TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000}
353
+ PGUSER: ${PGUSER:-${DB_USERNAME}}
354
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-${DB_PASSWORD}}
355
+ POSTGRES_DB: ${POSTGRES_DB:-${DB_DATABASE}}
356
+ PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata}
357
+ SANDBOX_API_KEY: ${SANDBOX_API_KEY:-dify-sandbox}
358
+ SANDBOX_GIN_MODE: ${SANDBOX_GIN_MODE:-release}
359
+ SANDBOX_WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15}
360
+ SANDBOX_ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true}
361
+ SANDBOX_HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128}
362
+ SANDBOX_HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128}
363
+ SANDBOX_PORT: ${SANDBOX_PORT:-8194}
364
+ WEAVIATE_PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate}
365
+ WEAVIATE_QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25}
366
+ WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-true}
367
+ WEAVIATE_DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none}
368
+ WEAVIATE_CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1}
369
+ WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true}
370
+ WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
371
+ WEAVIATE_AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
372
+ WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true}
373
+ WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
374
+ CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-difyai123456}
375
+ CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-chromadb.auth.token_authn.TokenAuthenticationServerProvider}
376
+ CHROMA_IS_PERSISTENT: ${CHROMA_IS_PERSISTENT:-TRUE}
377
+ ORACLE_PWD: ${ORACLE_PWD:-Dify123456}
378
+ ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8}
379
+ ETCD_AUTO_COMPACTION_MODE: ${ETCD_AUTO_COMPACTION_MODE:-revision}
380
+ ETCD_AUTO_COMPACTION_RETENTION: ${ETCD_AUTO_COMPACTION_RETENTION:-1000}
381
+ ETCD_QUOTA_BACKEND_BYTES: ${ETCD_QUOTA_BACKEND_BYTES:-4294967296}
382
+ ETCD_SNAPSHOT_COUNT: ${ETCD_SNAPSHOT_COUNT:-50000}
383
+ MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin}
384
+ MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin}
385
+ ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379}
386
+ MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000}
387
+ MILVUS_AUTHORIZATION_ENABLED: ${MILVUS_AUTHORIZATION_ENABLED:-true}
388
+ PGVECTOR_PGUSER: ${PGVECTOR_PGUSER:-postgres}
389
+ PGVECTOR_POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456}
390
+ PGVECTOR_POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify}
391
+ PGVECTOR_PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata}
392
+ OPENSEARCH_DISCOVERY_TYPE: ${OPENSEARCH_DISCOVERY_TYPE:-single-node}
393
+ OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: ${OPENSEARCH_BOOTSTRAP_MEMORY_LOCK:-true}
394
+ OPENSEARCH_JAVA_OPTS_MIN: ${OPENSEARCH_JAVA_OPTS_MIN:-512m}
395
+ OPENSEARCH_JAVA_OPTS_MAX: ${OPENSEARCH_JAVA_OPTS_MAX:-1024m}
396
+ OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD:-Qazwsxedc!@#123}
397
+ OPENSEARCH_MEMLOCK_SOFT: ${OPENSEARCH_MEMLOCK_SOFT:--1}
398
+ OPENSEARCH_MEMLOCK_HARD: ${OPENSEARCH_MEMLOCK_HARD:--1}
399
+ OPENSEARCH_NOFILE_SOFT: ${OPENSEARCH_NOFILE_SOFT:-65536}
400
+ OPENSEARCH_NOFILE_HARD: ${OPENSEARCH_NOFILE_HARD:-65536}
401
+ NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
402
+ NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false}
403
+ NGINX_PORT: ${NGINX_PORT:-80}
404
+ NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
405
+ NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt}
406
+ NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key}
407
+ NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3}
408
+ NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto}
409
+ NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
410
+ NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65}
411
+ NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s}
412
+ NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s}
413
+ NGINX_ENABLE_CERTBOT_CHALLENGE: ${NGINX_ENABLE_CERTBOT_CHALLENGE:-false}
414
+ CERTBOT_EMAIL: ${CERTBOT_EMAIL:-your_email@example.com}
415
+ CERTBOT_DOMAIN: ${CERTBOT_DOMAIN:-your_domain.com}
416
+ CERTBOT_OPTIONS: ${CERTBOT_OPTIONS:-}
417
+ SSRF_HTTP_PORT: ${SSRF_HTTP_PORT:-3128}
418
+ SSRF_COREDUMP_DIR: ${SSRF_COREDUMP_DIR:-/var/spool/squid}
419
+ SSRF_REVERSE_PROXY_PORT: ${SSRF_REVERSE_PROXY_PORT:-8194}
420
+ SSRF_SANDBOX_HOST: ${SSRF_SANDBOX_HOST:-sandbox}
421
+ SSRF_DEFAULT_TIME_OUT: ${SSRF_DEFAULT_TIME_OUT:-5}
422
+ SSRF_DEFAULT_CONNECT_TIME_OUT: ${SSRF_DEFAULT_CONNECT_TIME_OUT:-5}
423
+ SSRF_DEFAULT_READ_TIME_OUT: ${SSRF_DEFAULT_READ_TIME_OUT:-5}
424
+ SSRF_DEFAULT_WRITE_TIME_OUT: ${SSRF_DEFAULT_WRITE_TIME_OUT:-5}
425
+ EXPOSE_NGINX_PORT: ${EXPOSE_NGINX_PORT:-80}
426
+ EXPOSE_NGINX_SSL_PORT: ${EXPOSE_NGINX_SSL_PORT:-443}
427
+ POSITION_TOOL_PINS: ${POSITION_TOOL_PINS:-}
428
+ POSITION_TOOL_INCLUDES: ${POSITION_TOOL_INCLUDES:-}
429
+ POSITION_TOOL_EXCLUDES: ${POSITION_TOOL_EXCLUDES:-}
430
+ POSITION_PROVIDER_PINS: ${POSITION_PROVIDER_PINS:-}
431
+ POSITION_PROVIDER_INCLUDES: ${POSITION_PROVIDER_INCLUDES:-}
432
+ POSITION_PROVIDER_EXCLUDES: ${POSITION_PROVIDER_EXCLUDES:-}
433
+ CSP_WHITELIST: ${CSP_WHITELIST:-}
434
+ CREATE_TIDB_SERVICE_JOB_ENABLED: ${CREATE_TIDB_SERVICE_JOB_ENABLED:-false}
435
+ MAX_SUBMIT_COUNT: ${MAX_SUBMIT_COUNT:-100}
436
+ TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-10}
437
+ DB_PLUGIN_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin}
438
+ EXPOSE_PLUGIN_DAEMON_PORT: ${EXPOSE_PLUGIN_DAEMON_PORT:-5002}
439
+ PLUGIN_DAEMON_PORT: ${PLUGIN_DAEMON_PORT:-5002}
440
+ PLUGIN_DAEMON_KEY: ${PLUGIN_DAEMON_KEY:-lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi}
441
+ PLUGIN_DAEMON_URL: ${PLUGIN_DAEMON_URL:-http://plugin_daemon:5002}
442
+ PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
443
+ PLUGIN_PPROF_ENABLED: ${PLUGIN_PPROF_ENABLED:-false}
444
+ PLUGIN_DEBUGGING_HOST: ${PLUGIN_DEBUGGING_HOST:-0.0.0.0}
445
+ PLUGIN_DEBUGGING_PORT: ${PLUGIN_DEBUGGING_PORT:-5003}
446
+ EXPOSE_PLUGIN_DEBUGGING_HOST: ${EXPOSE_PLUGIN_DEBUGGING_HOST:-localhost}
447
+ EXPOSE_PLUGIN_DEBUGGING_PORT: ${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003}
448
+ PLUGIN_DIFY_INNER_API_KEY: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
449
+ PLUGIN_DIFY_INNER_API_URL: ${PLUGIN_DIFY_INNER_API_URL:-http://api:5001}
450
+ ENDPOINT_URL_TEMPLATE: ${ENDPOINT_URL_TEMPLATE:-http://localhost/e/{hook_id}}
451
+ MARKETPLACE_ENABLED: ${MARKETPLACE_ENABLED:-true}
452
+ MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-https://marketplace.dify.ai}
453
+ FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true}
454
+ PLUGIN_PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120}
455
+ PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600}
456
+ PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}
457
+ PLUGIN_STORAGE_TYPE: ${PLUGIN_STORAGE_TYPE:-local}
458
+ PLUGIN_STORAGE_LOCAL_ROOT: ${PLUGIN_STORAGE_LOCAL_ROOT:-/app/storage}
459
+ PLUGIN_WORKING_PATH: ${PLUGIN_WORKING_PATH:-/app/storage/cwd}
460
+ PLUGIN_INSTALLED_PATH: ${PLUGIN_INSTALLED_PATH:-plugin}
461
+ PLUGIN_PACKAGE_CACHE_PATH: ${PLUGIN_PACKAGE_CACHE_PATH:-plugin_packages}
462
+ PLUGIN_MEDIA_CACHE_PATH: ${PLUGIN_MEDIA_CACHE_PATH:-assets}
463
+ PLUGIN_STORAGE_OSS_BUCKET: ${PLUGIN_STORAGE_OSS_BUCKET:-}
464
+ PLUGIN_S3_USE_AWS_MANAGED_IAM: ${PLUGIN_S3_USE_AWS_MANAGED_IAM:-false}
465
+ PLUGIN_S3_ENDPOINT: ${PLUGIN_S3_ENDPOINT:-}
466
+ PLUGIN_S3_USE_PATH_STYLE: ${PLUGIN_S3_USE_PATH_STYLE:-false}
467
+ PLUGIN_AWS_ACCESS_KEY: ${PLUGIN_AWS_ACCESS_KEY:-}
468
+ PLUGIN_AWS_SECRET_KEY: ${PLUGIN_AWS_SECRET_KEY:-}
469
+ PLUGIN_AWS_REGION: ${PLUGIN_AWS_REGION:-}
470
+ PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ${PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME:-}
471
+ PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ${PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING:-}
472
+ PLUGIN_TENCENT_COS_SECRET_KEY: ${PLUGIN_TENCENT_COS_SECRET_KEY:-}
473
+ PLUGIN_TENCENT_COS_SECRET_ID: ${PLUGIN_TENCENT_COS_SECRET_ID:-}
474
+ PLUGIN_TENCENT_COS_REGION: ${PLUGIN_TENCENT_COS_REGION:-}
475
+ ENABLE_OTEL: ${ENABLE_OTEL:-false}
476
+ OTLP_BASE_ENDPOINT: ${OTLP_BASE_ENDPOINT:-http://localhost:4318}
477
+ OTLP_API_KEY: ${OTLP_API_KEY:-}
478
+ OTEL_EXPORTER_TYPE: ${OTEL_EXPORTER_TYPE:-otlp}
479
+ OTEL_SAMPLING_RATE: ${OTEL_SAMPLING_RATE:-0.1}
480
+ OTEL_BATCH_EXPORT_SCHEDULE_DELAY: ${OTEL_BATCH_EXPORT_SCHEDULE_DELAY:-5000}
481
+ OTEL_MAX_QUEUE_SIZE: ${OTEL_MAX_QUEUE_SIZE:-2048}
482
+ OTEL_MAX_EXPORT_BATCH_SIZE: ${OTEL_MAX_EXPORT_BATCH_SIZE:-512}
483
+ OTEL_METRIC_EXPORT_INTERVAL: ${OTEL_METRIC_EXPORT_INTERVAL:-60000}
484
+ OTEL_BATCH_EXPORT_TIMEOUT: ${OTEL_BATCH_EXPORT_TIMEOUT:-10000}
485
+ OTEL_METRIC_EXPORT_TIMEOUT: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000}
486
+ ALLOW_EMBED: ${ALLOW_EMBED:-false}
487
+
488
+ services:
489
+ # API service
490
+ api:
491
+ image: langgenius/dify-api:1.3.1
492
+ restart: always
493
+ environment:
494
+ # Use the shared environment variables.
495
+ <<: *shared-api-worker-env
496
+ # Startup mode, 'api' starts the API server.
497
+ MODE: api
498
+ SENTRY_DSN: ${API_SENTRY_DSN:-}
499
+ SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
500
+ SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
501
+ PLUGIN_REMOTE_INSTALL_HOST: ${EXPOSE_PLUGIN_DEBUGGING_HOST:-localhost}
502
+ PLUGIN_REMOTE_INSTALL_PORT: ${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003}
503
+ PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
504
+ INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
505
+ depends_on:
506
+ db:
507
+ condition: service_healthy
508
+ redis:
509
+ condition: service_started
510
+ volumes:
511
+ # Mount the storage directory to the container, for storing user files.
512
+ - ./volumes/app/storage:/app/api/storage
513
+ networks:
514
+ - ssrf_proxy_network
515
+ - default
516
+
517
+ # worker service
518
+ # The Celery worker for processing the queue.
519
+ worker:
520
+ image: langgenius/dify-api:1.3.1
521
+ restart: always
522
+ environment:
523
+ # Use the shared environment variables.
524
+ <<: *shared-api-worker-env
525
+ # Startup mode, 'worker' starts the Celery worker for processing the queue.
526
+ MODE: worker
527
+ SENTRY_DSN: ${API_SENTRY_DSN:-}
528
+ SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
529
+ SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
530
+ PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
531
+ INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
532
+ depends_on:
533
+ db:
534
+ condition: service_healthy
535
+ redis:
536
+ condition: service_started
537
+ volumes:
538
+ # Mount the storage directory to the container, for storing user files.
539
+ - ./volumes/app/storage:/app/api/storage
540
+ networks:
541
+ - ssrf_proxy_network
542
+ - default
543
+
544
+ # Frontend web application.
545
+ web:
546
+ image: langgenius/dify-web:1.3.1
547
+ restart: always
548
+ environment:
549
+ CONSOLE_API_URL: ${CONSOLE_API_URL:-}
550
+ APP_API_URL: ${APP_API_URL:-}
551
+ SENTRY_DSN: ${WEB_SENTRY_DSN:-}
552
+ NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0}
553
+ TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000}
554
+ CSP_WHITELIST: ${CSP_WHITELIST:-}
555
+ ALLOW_EMBED: ${ALLOW_EMBED:-false}
556
+ MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-https://marketplace.dify.ai}
557
+ MARKETPLACE_URL: ${MARKETPLACE_URL:-https://marketplace.dify.ai}
558
+ TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-}
559
+ INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-}
560
+ PM2_INSTANCES: ${PM2_INSTANCES:-2}
561
+ LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100}
562
+ MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10}
563
+ MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10}
564
+ MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-5}
565
+ ENABLE_WEBSITE_JINAREADER: ${ENABLE_WEBSITE_JINAREADER:-true}
566
+ ENABLE_WEBSITE_FIRECRAWL: ${ENABLE_WEBSITE_FIRECRAWL:-true}
567
+ ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true}
568
+ # The postgres database.
569
+ db:
570
+ image: postgres:15-alpine
571
+ restart: always
572
+ environment:
573
+ PGUSER: ${PGUSER:-postgres}
574
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-difyai123456}
575
+ POSTGRES_DB: ${POSTGRES_DB:-dify}
576
+ PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata}
577
+ command: >
578
+ postgres -c 'max_connections=${POSTGRES_MAX_CONNECTIONS:-100}'
579
+ -c 'shared_buffers=${POSTGRES_SHARED_BUFFERS:-128MB}'
580
+ -c 'work_mem=${POSTGRES_WORK_MEM:-4MB}'
581
+ -c 'maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}'
582
+ -c 'effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}'
583
+ volumes:
584
+ - ./volumes/db/data:/var/lib/postgresql/data
585
+ healthcheck:
586
+ test: [ 'CMD', 'pg_isready', '-h', 'db', '-U', '${PGUSER:-postgres}', '-d', '${POSTGRES_DB:-dify}' ]
587
+ interval: 1s
588
+ timeout: 3s
589
+ retries: 60
590
+
591
+ # The redis cache.
592
+ redis:
593
+ image: redis:6-alpine
594
+ restart: always
595
+ environment:
596
+ REDISCLI_AUTH: ${REDIS_PASSWORD:-difyai123456}
597
+ volumes:
598
+ # Mount the redis data directory to the container.
599
+ - ./volumes/redis/data:/data
600
+ # Set the redis password when startup redis server.
601
+ command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456}
602
+ healthcheck:
603
+ test: [ 'CMD', 'redis-cli', 'ping' ]
604
+
605
+ # The DifySandbox
606
+ sandbox:
607
+ image: langgenius/dify-sandbox:0.2.11
608
+ restart: always
609
+ environment:
610
+ # The DifySandbox configurations
611
+ # Make sure you are changing this key for your deployment with a strong key.
612
+ # You can generate a strong key using `openssl rand -base64 42`.
613
+ API_KEY: ${SANDBOX_API_KEY:-dify-sandbox}
614
+ GIN_MODE: ${SANDBOX_GIN_MODE:-release}
615
+ WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15}
616
+ ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true}
617
+ HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128}
618
+ HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128}
619
+ SANDBOX_PORT: ${SANDBOX_PORT:-8194}
620
+ PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}
621
+ volumes:
622
+ - ./volumes/sandbox/dependencies:/dependencies
623
+ - ./volumes/sandbox/conf:/conf
624
+ healthcheck:
625
+ test: [ 'CMD', 'curl', '-f', 'http://localhost:8194/health' ]
626
+ networks:
627
+ - ssrf_proxy_network
628
+
629
+ # plugin daemon
630
+ plugin_daemon:
631
+ image: langgenius/dify-plugin-daemon:0.0.9-local
632
+ restart: always
633
+ environment:
634
+ # Use the shared environment variables.
635
+ <<: *shared-api-worker-env
636
+ DB_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin}
637
+ SERVER_PORT: ${PLUGIN_DAEMON_PORT:-5002}
638
+ SERVER_KEY: ${PLUGIN_DAEMON_KEY:-lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi}
639
+ MAX_PLUGIN_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
640
+ PPROF_ENABLED: ${PLUGIN_PPROF_ENABLED:-false}
641
+ DIFY_INNER_API_URL: ${PLUGIN_DIFY_INNER_API_URL:-http://api:5001}
642
+ DIFY_INNER_API_KEY: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
643
+ PLUGIN_REMOTE_INSTALLING_HOST: ${PLUGIN_DEBUGGING_HOST:-0.0.0.0}
644
+ PLUGIN_REMOTE_INSTALLING_PORT: ${PLUGIN_DEBUGGING_PORT:-5003}
645
+ PLUGIN_WORKING_PATH: ${PLUGIN_WORKING_PATH:-/app/storage/cwd}
646
+ FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true}
647
+ PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120}
648
+ PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600}
649
+ PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}
650
+ PLUGIN_STORAGE_TYPE: ${PLUGIN_STORAGE_TYPE:-local}
651
+ PLUGIN_STORAGE_LOCAL_ROOT: ${PLUGIN_STORAGE_LOCAL_ROOT:-/app/storage}
652
+ PLUGIN_INSTALLED_PATH: ${PLUGIN_INSTALLED_PATH:-plugin}
653
+ PLUGIN_PACKAGE_CACHE_PATH: ${PLUGIN_PACKAGE_CACHE_PATH:-plugin_packages}
654
+ PLUGIN_MEDIA_CACHE_PATH: ${PLUGIN_MEDIA_CACHE_PATH:-assets}
655
+ PLUGIN_STORAGE_OSS_BUCKET: ${PLUGIN_STORAGE_OSS_BUCKET:-}
656
+ S3_USE_AWS_MANAGED_IAM: ${PLUGIN_S3_USE_AWS_MANAGED_IAM:-false}
657
+ S3_ENDPOINT: ${PLUGIN_S3_ENDPOINT:-}
658
+ S3_USE_PATH_STYLE: ${PLUGIN_S3_USE_PATH_STYLE:-false}
659
+ AWS_ACCESS_KEY: ${PLUGIN_AWS_ACCESS_KEY:-}
660
+ AWS_SECRET_KEY: ${PLUGIN_AWS_SECRET_KEY:-}
661
+ AWS_REGION: ${PLUGIN_AWS_REGION:-}
662
+ AZURE_BLOB_STORAGE_CONNECTION_STRING: ${PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING:-}
663
+ AZURE_BLOB_STORAGE_CONTAINER_NAME: ${PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME:-}
664
+ TENCENT_COS_SECRET_KEY: ${PLUGIN_TENCENT_COS_SECRET_KEY:-}
665
+ TENCENT_COS_SECRET_ID: ${PLUGIN_TENCENT_COS_SECRET_ID:-}
666
+ TENCENT_COS_REGION: ${PLUGIN_TENCENT_COS_REGION:-}
667
+ ports:
668
+ - "${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003}:${PLUGIN_DEBUGGING_PORT:-5003}"
669
+ volumes:
670
+ - ./volumes/plugin_daemon:/app/storage
671
+ depends_on:
672
+ db:
673
+ condition: service_healthy
674
+
675
+ # ssrf_proxy server
676
+ # for more information, please refer to
677
+ # https://docs.dify.ai/learn-more/faq/install-faq#id-18.-why-is-ssrf_proxy-needed
678
+ ssrf_proxy:
679
+ image: ubuntu/squid:latest
680
+ restart: always
681
+ volumes:
682
+ - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template
683
+ - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh
684
+ entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ]
685
+ environment:
686
+ # pls clearly modify the squid env vars to fit your network environment.
687
+ HTTP_PORT: ${SSRF_HTTP_PORT:-3128}
688
+ COREDUMP_DIR: ${SSRF_COREDUMP_DIR:-/var/spool/squid}
689
+ REVERSE_PROXY_PORT: ${SSRF_REVERSE_PROXY_PORT:-8194}
690
+ SANDBOX_HOST: ${SSRF_SANDBOX_HOST:-sandbox}
691
+ SANDBOX_PORT: ${SANDBOX_PORT:-8194}
692
+ networks:
693
+ - ssrf_proxy_network
694
+ - default
695
+
696
+ # Certbot service
697
+ # use `docker-compose --profile certbot up` to start the certbot service.
698
+ certbot:
699
+ image: certbot/certbot
700
+ profiles:
701
+ - certbot
702
+ volumes:
703
+ - ./volumes/certbot/conf:/etc/letsencrypt
704
+ - ./volumes/certbot/www:/var/www/html
705
+ - ./volumes/certbot/logs:/var/log/letsencrypt
706
+ - ./volumes/certbot/conf/live:/etc/letsencrypt/live
707
+ - ./certbot/update-cert.template.txt:/update-cert.template.txt
708
+ - ./certbot/docker-entrypoint.sh:/docker-entrypoint.sh
709
+ environment:
710
+ - CERTBOT_EMAIL=${CERTBOT_EMAIL}
711
+ - CERTBOT_DOMAIN=${CERTBOT_DOMAIN}
712
+ - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-}
713
+ entrypoint: [ '/docker-entrypoint.sh' ]
714
+ command: [ 'tail', '-f', '/dev/null' ]
715
+
716
+ # The nginx reverse proxy.
717
+ # used for reverse proxying the API service and Web service.
718
+ nginx:
719
+ image: nginx:latest
720
+ restart: always
721
+ volumes:
722
+ - ./nginx/nginx.conf.template:/etc/nginx/nginx.conf.template
723
+ - ./nginx/proxy.conf.template:/etc/nginx/proxy.conf.template
724
+ - ./nginx/https.conf.template:/etc/nginx/https.conf.template
725
+ - ./nginx/conf.d:/etc/nginx/conf.d
726
+ - ./nginx/docker-entrypoint.sh:/docker-entrypoint-mount.sh
727
+ - ./nginx/ssl:/etc/ssl # cert dir (legacy)
728
+ - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container)
729
+ - ./volumes/certbot/conf:/etc/letsencrypt
730
+ - ./volumes/certbot/www:/var/www/html
731
+ entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ]
732
+ environment:
733
+ NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
734
+ NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false}
735
+ NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
736
+ NGINX_PORT: ${NGINX_PORT:-80}
737
+ # You're required to add your own SSL certificates/keys to the `./nginx/ssl` directory
738
+ # and modify the env vars below in .env if HTTPS_ENABLED is true.
739
+ NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt}
740
+ NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key}
741
+ NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3}
742
+ NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto}
743
+ NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
744
+ NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65}
745
+ NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s}
746
+ NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s}
747
+ NGINX_ENABLE_CERTBOT_CHALLENGE: ${NGINX_ENABLE_CERTBOT_CHALLENGE:-false}
748
+ CERTBOT_DOMAIN: ${CERTBOT_DOMAIN:-}
749
+ depends_on:
750
+ - api
751
+ - web
752
+ ports:
753
+ - '${EXPOSE_NGINX_PORT:-80}:${NGINX_PORT:-80}'
754
+ - '${EXPOSE_NGINX_SSL_PORT:-443}:${NGINX_SSL_PORT:-443}'
755
+
756
+ # The Weaviate vector store.
757
+ weaviate:
758
+ image: semitechnologies/weaviate:1.19.0
759
+ profiles:
760
+ - ''
761
+ - weaviate
762
+ restart: always
763
+ volumes:
764
+ # Mount the Weaviate data directory to the con tainer.
765
+ - ./volumes/weaviate:/var/lib/weaviate
766
+ environment:
767
+ # The Weaviate configurations
768
+ # You can refer to the [Weaviate](https://weaviate.io/developers/weaviate/config-refs/env-vars) documentation for more information.
769
+ PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate}
770
+ QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25}
771
+ AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-false}
772
+ DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none}
773
+ CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1}
774
+ AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true}
775
+ AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
776
+ AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
777
+ AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true}
778
+ AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
779
+
780
+ # Qdrant vector store.
781
+ # (if used, you need to set VECTOR_STORE to qdrant in the api & worker service.)
782
+ qdrant:
783
+ image: langgenius/qdrant:v1.7.3
784
+ profiles:
785
+ - qdrant
786
+ restart: always
787
+ volumes:
788
+ - ./volumes/qdrant:/qdrant/storage
789
+ environment:
790
+ QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456}
791
+
792
+ # The Couchbase vector store.
793
+ couchbase-server:
794
+ build: ./couchbase-server
795
+ profiles:
796
+ - couchbase
797
+ restart: always
798
+ environment:
799
+ - CLUSTER_NAME=dify_search
800
+ - COUCHBASE_ADMINISTRATOR_USERNAME=${COUCHBASE_USER:-Administrator}
801
+ - COUCHBASE_ADMINISTRATOR_PASSWORD=${COUCHBASE_PASSWORD:-password}
802
+ - COUCHBASE_BUCKET=${COUCHBASE_BUCKET_NAME:-Embeddings}
803
+ - COUCHBASE_BUCKET_RAMSIZE=512
804
+ - COUCHBASE_RAM_SIZE=2048
805
+ - COUCHBASE_EVENTING_RAM_SIZE=512
806
+ - COUCHBASE_INDEX_RAM_SIZE=512
807
+ - COUCHBASE_FTS_RAM_SIZE=1024
808
+ hostname: couchbase-server
809
+ container_name: couchbase-server
810
+ working_dir: /opt/couchbase
811
+ stdin_open: true
812
+ tty: true
813
+ entrypoint: [ "" ]
814
+ command: sh -c "/opt/couchbase/init/init-cbserver.sh"
815
+ volumes:
816
+ - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data
817
+ healthcheck:
818
+ # ensure bucket was created before proceeding
819
+ test: [ "CMD-SHELL", "curl -s -f -u Administrator:password http://localhost:8091/pools/default/buckets | grep -q '\\[{' || exit 1" ]
820
+ interval: 10s
821
+ retries: 10
822
+ start_period: 30s
823
+ timeout: 10s
824
+
825
+ # The pgvector vector database.
826
+ pgvector:
827
+ image: pgvector/pgvector:pg16
828
+ profiles:
829
+ - pgvector
830
+ restart: always
831
+ environment:
832
+ PGUSER: ${PGVECTOR_PGUSER:-postgres}
833
+ # The password for the default postgres user.
834
+ POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456}
835
+ # The name of the default postgres database.
836
+ POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify}
837
+ # postgres data directory
838
+ PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata}
839
+ # pg_bigm module for full text search
840
+ PG_BIGM: ${PGVECTOR_PG_BIGM:-false}
841
+ PG_BIGM_VERSION: ${PGVECTOR_PG_BIGM_VERSION:-1.2-20240606}
842
+ volumes:
843
+ - ./volumes/pgvector/data:/var/lib/postgresql/data
844
+ - ./pgvector/docker-entrypoint.sh:/docker-entrypoint.sh
845
+ entrypoint: [ '/docker-entrypoint.sh' ]
846
+ healthcheck:
847
+ test: [ 'CMD', 'pg_isready' ]
848
+ interval: 1s
849
+ timeout: 3s
850
+ retries: 30
851
+
852
+ # get image from https://www.vastdata.com.cn/
853
+ vastbase:
854
+ image: vastdata/vastbase-vector
855
+ profiles:
856
+ - vastbase
857
+ restart: always
858
+ environment:
859
+ - VB_DBCOMPATIBILITY=PG
860
+ - VB_DB=dify
861
+ - VB_USERNAME=dify
862
+ - VB_PASSWORD=Difyai123456
863
+ ports:
864
+ - '5434:5432'
865
+ volumes:
866
+ - ./vastbase/lic:/home/vastbase/vastbase/lic
867
+ - ./vastbase/data:/home/vastbase/data
868
+ - ./vastbase/backup:/home/vastbase/backup
869
+ - ./vastbase/backup_log:/home/vastbase/backup_log
870
+ healthcheck:
871
+ test: [ 'CMD', 'pg_isready' ]
872
+ interval: 1s
873
+ timeout: 3s
874
+ retries: 30
875
+
876
+ # pgvecto-rs vector store
877
+ pgvecto-rs:
878
+ image: tensorchord/pgvecto-rs:pg16-v0.3.0
879
+ profiles:
880
+ - pgvecto-rs
881
+ restart: always
882
+ environment:
883
+ PGUSER: ${PGVECTOR_PGUSER:-postgres}
884
+ # The password for the default postgres user.
885
+ POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456}
886
+ # The name of the default postgres database.
887
+ POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify}
888
+ # postgres data directory
889
+ PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata}
890
+ volumes:
891
+ - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data
892
+ healthcheck:
893
+ test: [ 'CMD', 'pg_isready' ]
894
+ interval: 1s
895
+ timeout: 3s
896
+ retries: 30
897
+
898
+ # Chroma vector database
899
+ chroma:
900
+ image: ghcr.io/chroma-core/chroma:0.5.20
901
+ profiles:
902
+ - chroma
903
+ restart: always
904
+ volumes:
905
+ - ./volumes/chroma:/chroma/chroma
906
+ environment:
907
+ CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-difyai123456}
908
+ CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-chromadb.auth.token_authn.TokenAuthenticationServerProvider}
909
+ IS_PERSISTENT: ${CHROMA_IS_PERSISTENT:-TRUE}
910
+
911
+ # OceanBase vector database
912
+ oceanbase:
913
+ image: oceanbase/oceanbase-ce:4.3.5.1-101000042025031818
914
+ container_name: oceanbase
915
+ profiles:
916
+ - oceanbase
917
+ restart: always
918
+ volumes:
919
+ - ./volumes/oceanbase/data:/root/ob
920
+ - ./volumes/oceanbase/conf:/root/.obd/cluster
921
+ - ./volumes/oceanbase/init.d:/root/boot/init.d
922
+ environment:
923
+ OB_MEMORY_LIMIT: ${OCEANBASE_MEMORY_LIMIT:-6G}
924
+ OB_SYS_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456}
925
+ OB_TENANT_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456}
926
+ OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
927
+ MODE: MINI
928
+ ports:
929
+ - "${OCEANBASE_VECTOR_PORT:-2881}:2881"
930
+
931
+ # Oracle vector database
932
+ oracle:
933
+ image: container-registry.oracle.com/database/free:latest
934
+ profiles:
935
+ - oracle
936
+ restart: always
937
+ volumes:
938
+ - source: oradata
939
+ type: volume
940
+ target: /opt/oracle/oradata
941
+ - ./startupscripts:/opt/oracle/scripts/startup
942
+ environment:
943
+ ORACLE_PWD: ${ORACLE_PWD:-Dify123456}
944
+ ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8}
945
+
946
+ # Milvus vector database services
947
+ etcd:
948
+ container_name: milvus-etcd
949
+ image: quay.io/coreos/etcd:v3.5.5
950
+ profiles:
951
+ - milvus
952
+ environment:
953
+ ETCD_AUTO_COMPACTION_MODE: ${ETCD_AUTO_COMPACTION_MODE:-revision}
954
+ ETCD_AUTO_COMPACTION_RETENTION: ${ETCD_AUTO_COMPACTION_RETENTION:-1000}
955
+ ETCD_QUOTA_BACKEND_BYTES: ${ETCD_QUOTA_BACKEND_BYTES:-4294967296}
956
+ ETCD_SNAPSHOT_COUNT: ${ETCD_SNAPSHOT_COUNT:-50000}
957
+ volumes:
958
+ - ./volumes/milvus/etcd:/etcd
959
+ command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
960
+ healthcheck:
961
+ test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ]
962
+ interval: 30s
963
+ timeout: 20s
964
+ retries: 3
965
+ networks:
966
+ - milvus
967
+
968
+ minio:
969
+ container_name: milvus-minio
970
+ image: minio/minio:RELEASE.2023-03-20T20-16-18Z
971
+ profiles:
972
+ - milvus
973
+ environment:
974
+ MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin}
975
+ MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin}
976
+ volumes:
977
+ - ./volumes/milvus/minio:/minio_data
978
+ command: minio server /minio_data --console-address ":9001"
979
+ healthcheck:
980
+ test: [ 'CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live' ]
981
+ interval: 30s
982
+ timeout: 20s
983
+ retries: 3
984
+ networks:
985
+ - milvus
986
+
987
+ milvus-standalone:
988
+ container_name: milvus-standalone
989
+ image: milvusdb/milvus:v2.5.0-beta
990
+ profiles:
991
+ - milvus
992
+ command: [ 'milvus', 'run', 'standalone' ]
993
+ environment:
994
+ ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379}
995
+ MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000}
996
+ common.security.authorizationEnabled: ${MILVUS_AUTHORIZATION_ENABLED:-true}
997
+ volumes:
998
+ - ./volumes/milvus/milvus:/var/lib/milvus
999
+ healthcheck:
1000
+ test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ]
1001
+ interval: 30s
1002
+ start_period: 90s
1003
+ timeout: 20s
1004
+ retries: 3
1005
+ depends_on:
1006
+ - etcd
1007
+ - minio
1008
+ ports:
1009
+ - 19530:19530
1010
+ - 9091:9091
1011
+ networks:
1012
+ - milvus
1013
+
1014
+ # Opensearch vector database
1015
+ opensearch:
1016
+ container_name: opensearch
1017
+ image: opensearchproject/opensearch:latest
1018
+ profiles:
1019
+ - opensearch
1020
+ environment:
1021
+ discovery.type: ${OPENSEARCH_DISCOVERY_TYPE:-single-node}
1022
+ bootstrap.memory_lock: ${OPENSEARCH_BOOTSTRAP_MEMORY_LOCK:-true}
1023
+ OPENSEARCH_JAVA_OPTS: -Xms${OPENSEARCH_JAVA_OPTS_MIN:-512m} -Xmx${OPENSEARCH_JAVA_OPTS_MAX:-1024m}
1024
+ OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD:-Qazwsxedc!@#123}
1025
+ ulimits:
1026
+ memlock:
1027
+ soft: ${OPENSEARCH_MEMLOCK_SOFT:--1}
1028
+ hard: ${OPENSEARCH_MEMLOCK_HARD:--1}
1029
+ nofile:
1030
+ soft: ${OPENSEARCH_NOFILE_SOFT:-65536}
1031
+ hard: ${OPENSEARCH_NOFILE_HARD:-65536}
1032
+ volumes:
1033
+ - ./volumes/opensearch/data:/usr/share/opensearch/data
1034
+ networks:
1035
+ - opensearch-net
1036
+
1037
+ opensearch-dashboards:
1038
+ container_name: opensearch-dashboards
1039
+ image: opensearchproject/opensearch-dashboards:latest
1040
+ profiles:
1041
+ - opensearch
1042
+ environment:
1043
+ OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
1044
+ volumes:
1045
+ - ./volumes/opensearch/opensearch_dashboards.yml:/usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
1046
+ networks:
1047
+ - opensearch-net
1048
+ depends_on:
1049
+ - opensearch
1050
+
1051
+ # opengauss vector database.
1052
+ opengauss:
1053
+ image: opengauss/opengauss:7.0.0-RC1
1054
+ profiles:
1055
+ - opengauss
1056
+ privileged: true
1057
+ restart: always
1058
+ environment:
1059
+ GS_USERNAME: ${OPENGAUSS_USER:-postgres}
1060
+ GS_PASSWORD: ${OPENGAUSS_PASSWORD:-Dify@123}
1061
+ GS_PORT: ${OPENGAUSS_PORT:-6600}
1062
+ GS_DB: ${OPENGAUSS_DATABASE:-dify}
1063
+ volumes:
1064
+ - ./volumes/opengauss/data:/var/lib/opengauss/data
1065
+ healthcheck:
1066
+ test: [ "CMD-SHELL", "netstat -lntp | grep tcp6 > /dev/null 2>&1" ]
1067
+ interval: 10s
1068
+ timeout: 10s
1069
+ retries: 10
1070
+ ports:
1071
+ - ${OPENGAUSS_PORT:-6600}:${OPENGAUSS_PORT:-6600}
1072
+
1073
+ # MyScale vector database
1074
+ myscale:
1075
+ container_name: myscale
1076
+ image: myscale/myscaledb:1.6.4
1077
+ profiles:
1078
+ - myscale
1079
+ restart: always
1080
+ tty: true
1081
+ volumes:
1082
+ - ./volumes/myscale/data:/var/lib/clickhouse
1083
+ - ./volumes/myscale/log:/var/log/clickhouse-server
1084
+ - ./volumes/myscale/config/users.d/custom_users_config.xml:/etc/clickhouse-server/users.d/custom_users_config.xml
1085
+ ports:
1086
+ - ${MYSCALE_PORT:-8123}:${MYSCALE_PORT:-8123}
1087
+
1088
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
1089
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-prod-prerequisites
1090
+ elasticsearch:
1091
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3
1092
+ container_name: elasticsearch
1093
+ profiles:
1094
+ - elasticsearch
1095
+ - elasticsearch-ja
1096
+ restart: always
1097
+ volumes:
1098
+ - ./elasticsearch/docker-entrypoint.sh:/docker-entrypoint-mount.sh
1099
+ - dify_es01_data:/usr/share/elasticsearch/data
1100
+ environment:
1101
+ ELASTIC_PASSWORD: ${ELASTICSEARCH_PASSWORD:-elastic}
1102
+ VECTOR_STORE: ${VECTOR_STORE:-}
1103
+ cluster.name: dify-es-cluster
1104
+ node.name: dify-es0
1105
+ discovery.type: single-node
1106
+ xpack.license.self_generated.type: basic
1107
+ xpack.security.enabled: 'true'
1108
+ xpack.security.enrollment.enabled: 'false'
1109
+ xpack.security.http.ssl.enabled: 'false'
1110
+ ports:
1111
+ - ${ELASTICSEARCH_PORT:-9200}:9200
1112
+ deploy:
1113
+ resources:
1114
+ limits:
1115
+ memory: 2g
1116
+ entrypoint: [ 'sh', '-c', "sh /docker-entrypoint-mount.sh" ]
1117
+ healthcheck:
1118
+ test: [ 'CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty' ]
1119
+ interval: 30s
1120
+ timeout: 10s
1121
+ retries: 50
1122
+
1123
+ # https://www.elastic.co/guide/en/kibana/current/docker.html
1124
+ # https://www.elastic.co/guide/en/kibana/current/settings.html
1125
+ kibana:
1126
+ image: docker.elastic.co/kibana/kibana:8.14.3
1127
+ container_name: kibana
1128
+ profiles:
1129
+ - elasticsearch
1130
+ depends_on:
1131
+ - elasticsearch
1132
+ restart: always
1133
+ environment:
1134
+ XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY: d1a66dfd-c4d3-4a0a-8290-2abcb83ab3aa
1135
+ NO_PROXY: localhost,127.0.0.1,elasticsearch,kibana
1136
+ XPACK_SECURITY_ENABLED: 'true'
1137
+ XPACK_SECURITY_ENROLLMENT_ENABLED: 'false'
1138
+ XPACK_SECURITY_HTTP_SSL_ENABLED: 'false'
1139
+ XPACK_FLEET_ISAIRGAPPED: 'true'
1140
+ I18N_LOCALE: zh-CN
1141
+ SERVER_PORT: '5601'
1142
+ ELASTICSEARCH_HOSTS: http://elasticsearch:9200
1143
+ ports:
1144
+ - ${KIBANA_PORT:-5601}:5601
1145
+ healthcheck:
1146
+ test: [ 'CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1' ]
1147
+ interval: 30s
1148
+ timeout: 10s
1149
+ retries: 3
1150
+
1151
+ # unstructured .
1152
+ # (if used, you need to set ETL_TYPE to Unstructured in the api & worker service.)
1153
+ unstructured:
1154
+ image: downloads.unstructured.io/unstructured-io/unstructured-api:latest
1155
+ profiles:
1156
+ - unstructured
1157
+ restart: always
1158
+ volumes:
1159
+ - ./volumes/unstructured:/app/data
1160
+
1161
+ networks:
1162
+ # create a network between sandbox, api and ssrf_proxy, and can not access outside.
1163
+ ssrf_proxy_network:
1164
+ driver: bridge
1165
+ internal: true
1166
+ milvus:
1167
+ driver: bridge
1168
+ opensearch-net:
1169
+ driver: bridge
1170
+ internal: true
1171
+
1172
+ volumes:
1173
+ oradata:
1174
+ dify_es01_data: