docker-compose.yml 5.8 KB

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