docker-compose.yml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. version: '3.8'
  2. services:
  3. api:
  4. image: samepaage/open-assistant-api:main
  5. restart: always
  6. build: .
  7. volumes:
  8. - ./volumes/logs/api:/app/logs
  9. networks:
  10. - r2r-network
  11. ports:
  12. - '8086:8086'
  13. environment:
  14. # app
  15. MODE: api
  16. APP_NAME: open-assistant-api
  17. APP_DEBUG: true
  18. APP_ENV: prod
  19. APP_SERVER_WORKERS: 20
  20. APP_API_PREFIX: /api
  21. APP_AUTH_ENABLE: false
  22. APP_AUTH_ADMIN_TOKEN: cocorobo-xjw-admin
  23. LOG_LEVEL: DEBUG
  24. # celery
  25. CELERY_BROKER_URL: redis://:123456@redis:6379/1
  26. MIGRATION_ENABLED: true
  27. # database
  28. DB_HOST: db
  29. DB_PORT: 3306
  30. DB_DATABASE: open_assistant
  31. DB_USER: open_assistant
  32. DB_PASSWORD: 123456
  33. DB_POOL_SIZE: 20
  34. DB_POOL_RECYCLE: 3600
  35. # redis
  36. REDIS_HOST: redis
  37. REDIS_PORT: 6379
  38. REDIS_DB: 0
  39. REDIS_PASSWORD: 123456
  40. # s3 storage
  41. S3_ENDPOINT: http://minio:9000
  42. S3_BUCKET_NAME: oas
  43. S3_ACCESS_KEY: minioadmin
  44. S3_SECRET_KEY: minioadmin
  45. S3_REGION: us-east-1
  46. # file service
  47. #FILE_SERVICE_MODULE: app.services.file.impl.oss_file.OSSFileService
  48. FILE_SERVICE_MODULE: app.services.file.impl.r2r_file.R2RFileService
  49. # file search tool
  50. R2R_BASE_URL: http://r2r:7272
  51. R2R_USERNAME: xujiawei@cocorobo.cc
  52. R2R_PASSWORD: usestudio-1
  53. R2R_SEARCH_LIMIT: 10
  54. # secret
  55. APP_AES_ENCRYPTION_KEY: 7700b2f9c8dd982dfaddf8b47a92f1d900507ee8ac335f96a64e9ca0f018b195
  56. depends_on:
  57. - db
  58. - redis
  59. - minio
  60. worker:
  61. image: samepaage/open-assistant-api:main
  62. restart: always
  63. build: .
  64. networks:
  65. - r2r-network
  66. volumes:
  67. - ./volumes/logs/worker:/app/logs
  68. environment:
  69. # app
  70. MODE: worker
  71. APP_DEBUG: true
  72. APP_ENV: prod
  73. APP_AUTH_ENABLE: false
  74. APP_AUTH_ADMIN_TOKEN: cocorobo-xjw-admin
  75. LOG_LEVEL: DEBUG
  76. # celery
  77. CELERY_BROKER_URL: redis://:123456@redis:6379/1
  78. CELERY_WORKERS: 20
  79. # database
  80. DB_HOST: db
  81. DB_PORT: 3306
  82. DB_DATABASE: open_assistant
  83. DB_USER: open_assistant
  84. DB_PASSWORD: 123456
  85. DB_POOL_SIZE: 20
  86. DB_POOL_RECYCLE: 3600
  87. # redis
  88. REDIS_HOST: redis
  89. REDIS_PORT: 6379
  90. REDIS_DB: 0
  91. REDIS_PASSWORD: 123456
  92. # s3 storage
  93. S3_ENDPOINT: http://minio:9000
  94. S3_BUCKET_NAME: oas
  95. S3_ACCESS_KEY: minioadmin
  96. S3_SECRET_KEY: minioadmin
  97. S3_REGION: us-east-1
  98. # llm
  99. OPENAI_API_BASE: https://onehub.cocorobo.cn/v1
  100. OPENAI_API_KEY: sk-vTqeBKDC2j6osbGt89A2202dAd1c4fE8B1D294388b569e54
  101. LLM_MAX_STEP: 2500
  102. # tool
  103. TOOL_WORKER_NUM: 10
  104. TOOL_WORKER_EXECUTION_TIMEOUT: 180
  105. # web search tool
  106. BING_SEARCH_URL: https://www.searchapi.io/api/v1/search
  107. BING_SUBSCRIPTION_KEY: ZYLf8VLMoW8QRJ86bXEec9rX
  108. WEB_SEARCH_NUM_RESULTS: 50
  109. # file service
  110. #FILE_SERVICE_MODULE: app.services.file.impl.oss_file.OSSFileService
  111. FILE_SERVICE_MODULE: app.services.file.impl.r2r_file.R2RFileService
  112. # file search tool
  113. R2R_BASE_URL: http://r2r:7272
  114. R2R_USERNAME: xujiawei@cocorobo.cc
  115. R2R_PASSWORD: usestudio-1
  116. R2R_SEARCH_LIMIT: 10
  117. # secret
  118. APP_AES_ENCRYPTION_KEY: 7700b2f9c8dd982dfaddf8b47a92f1d900507ee8ac335f96a64e9ca0f018b195
  119. depends_on:
  120. - db
  121. - redis
  122. - minio
  123. playground-ui:
  124. image: samepaage/open-assistant-playground-ui:main
  125. restart: always
  126. build:
  127. context: ./playground-ui
  128. networks:
  129. - r2r-network
  130. ports:
  131. - "8090:80"
  132. depends_on:
  133. - api
  134. db:
  135. image: mysql:5.7.44
  136. platform: linux/x86_64
  137. restart: always
  138. volumes:
  139. - ./volumes/mysql/data:/var/lib/mysql
  140. networks:
  141. - r2r-network
  142. ports:
  143. - '3307:3306'
  144. environment:
  145. MYSQL_ROOT_PASSWORD: 'open-assistant-api@2023'
  146. MYSQL_USER: open_assistant
  147. MYSQL_PASSWORD: '123456'
  148. MYSQL_DATABASE: open_assistant
  149. # TZ: Asia/Shanghai
  150. command:
  151. [
  152. 'mysqld',
  153. '--character-set-server=utf8mb4',
  154. '--collation-server=utf8mb4_unicode_ci'
  155. ]
  156. healthcheck:
  157. test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
  158. timeout: 20s
  159. retries: 10
  160. redis:
  161. image: redis:6-alpine
  162. platform: linux/x86_64
  163. restart: always
  164. networks:
  165. - r2r-network
  166. volumes:
  167. - ./volumes/redis/data:/data
  168. ports:
  169. - '6379:6379'
  170. command: redis-server --requirepass 123456
  171. healthcheck:
  172. test: [ "CMD", "redis-cli", "ping" ]
  173. minio:
  174. image: minio/minio:RELEASE.2023-03-20T20-16-18Z
  175. platform: linux/x86_64
  176. restart: always
  177. volumes:
  178. - ./volumes/minio/data:/minio_data
  179. networks:
  180. - r2r-network
  181. ports:
  182. - '9001:9001'
  183. - '9000:9000'
  184. environment:
  185. MINIO_ACCESS_KEY: minioadmin
  186. MINIO_SECRET_KEY: minioadmin
  187. command: minio server /minio_data --console-address ':9001'
  188. healthcheck:
  189. test:
  190. [
  191. "CMD",
  192. "curl",
  193. "-f",
  194. "http://localhost:9000/minio/health/live"
  195. ]
  196. interval: 30s
  197. timeout: 20s
  198. retries: 3
  199. create-buckets:
  200. image: minio/mc
  201. platform: linux/x86_64
  202. environment:
  203. MINIO_ACCESS_KEY: minioadmin
  204. MINIO_SECRET_KEY: minioadmin
  205. BUCKET_NAME: 'oas'
  206. depends_on:
  207. - minio
  208. entrypoint: >
  209. /bin/sh -c "
  210. /usr/bin/mc alias set minio http://minio:9000 $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY};
  211. /usr/bin/mc mb -p minio/$${BUCKET_NAME};
  212. exit 0;
  213. "
  214. networks:
  215. r2r-network:
  216. external: true