docker-compose.yml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. volumes:
  2. clsi-cache:
  3. clsi-output:
  4. filestore-public-files:
  5. filestore-template-files:
  6. filestore-uploads:
  7. filestore-user-files:
  8. mongo-data:
  9. npm-cache:
  10. redis-data:
  11. sharelatex-data:
  12. spelling-cache:
  13. web-data:
  14. services:
  15. chat:
  16. build:
  17. context: ..
  18. dockerfile: services/chat/Dockerfile
  19. env_file:
  20. - dev.env
  21. volumes:
  22. - npm-cache:/root/.npm
  23. clsi:
  24. build:
  25. context: ..
  26. dockerfile: services/clsi/Dockerfile
  27. env_file:
  28. - dev.env
  29. environment:
  30. - DOCKER_RUNNER=true
  31. - TEXLIVE_IMAGE=texlive-full # docker build texlive -t texlive-full
  32. - COMPILES_HOST_DIR=${PWD}/compiles
  33. user: root
  34. volumes:
  35. - npm-cache:/root/.npm
  36. - ${PWD}/compiles:/overleaf/services/clsi/compiles
  37. - ${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock
  38. - clsi-cache:/overleaf/services/clsi/cache
  39. - clsi-output:/overleaf/services/clsi/output
  40. contacts:
  41. build:
  42. context: ..
  43. dockerfile: services/contacts/Dockerfile
  44. env_file:
  45. - dev.env
  46. volumes:
  47. - npm-cache:/root/.npm
  48. docstore:
  49. build:
  50. context: ..
  51. dockerfile: services/docstore/Dockerfile
  52. env_file:
  53. - dev.env
  54. volumes:
  55. - npm-cache:/root/.npm
  56. document-updater:
  57. build:
  58. context: ..
  59. dockerfile: services/document-updater/Dockerfile
  60. env_file:
  61. - dev.env
  62. volumes:
  63. - npm-cache:/root/.npm
  64. filestore:
  65. build:
  66. context: ..
  67. dockerfile: services/filestore/Dockerfile
  68. env_file:
  69. - dev.env
  70. # environment:
  71. # - ENABLE_CONVERSIONS=true
  72. volumes:
  73. - npm-cache:/root/.npm
  74. - filestore-public-files:/overleaf/services/filestore/public_files
  75. - filestore-template-files:/overleaf/services/filestore/template_files
  76. - filestore-uploads:/overleaf/services/filestore/uploads
  77. - filestore-user-files:/overleaf/services/filestore/user_files
  78. mongo:
  79. image: mongo:4.4
  80. ports:
  81. - "127.0.0.1:27017:27017" # for debugging
  82. volumes:
  83. - npm-cache:/root/.npm
  84. - mongo-data:/data/db
  85. notifications:
  86. build:
  87. context: ..
  88. dockerfile: services/notifications/Dockerfile
  89. env_file:
  90. - dev.env
  91. volumes:
  92. - npm-cache:/root/.npm
  93. real-time:
  94. build:
  95. context: ..
  96. dockerfile: services/real-time/Dockerfile
  97. env_file:
  98. - dev.env
  99. volumes:
  100. - npm-cache:/root/.npm
  101. redis:
  102. image: redis:5
  103. ports:
  104. - "127.0.0.1:6379:6379" # for debugging
  105. volumes:
  106. - redis-data:/data
  107. spelling:
  108. build:
  109. context: ..
  110. dockerfile: services/spelling/Dockerfile
  111. env_file:
  112. - dev.env
  113. volumes:
  114. - npm-cache:/root/.npm
  115. - spelling-cache:/overleaf/services/spelling/cache
  116. track-changes:
  117. build:
  118. context: ..
  119. dockerfile: services/track-changes/Dockerfile
  120. env_file:
  121. - dev.env
  122. volumes:
  123. - npm-cache:/root/.npm
  124. web:
  125. build:
  126. context: ..
  127. dockerfile: services/web/Dockerfile
  128. target: dev
  129. env_file:
  130. - dev.env
  131. environment:
  132. - APP_NAME=Overleaf Community Edition
  133. - ENABLED_LINKED_FILE_TYPES=project_file,project_output_file
  134. - EMAIL_CONFIRMATION_DISABLED=true
  135. - NODE_ENV=development
  136. - SHARELATEX_ALLOW_PUBLIC_ACCESS=true
  137. command: ["node", "app.js"]
  138. volumes:
  139. - npm-cache:/root/.npm
  140. - sharelatex-data:/var/lib/sharelatex
  141. - web-data:/overleaf/services/web/data
  142. depends_on:
  143. - mongo
  144. - redis
  145. - chat
  146. - clsi
  147. - contacts
  148. - docstore
  149. - document-updater
  150. - filestore
  151. - notifications
  152. - real-time
  153. - spelling
  154. webpack:
  155. build:
  156. context: ..
  157. dockerfile: services/web/Dockerfile
  158. target: dev
  159. command: ["npx", "webpack", "serve", "--config", "webpack.config.dev-env.js"]
  160. ports:
  161. - "127.0.0.1:80:3808"
  162. volumes:
  163. - npm-cache:/root/.npm
  164. - ./webpack.config.dev-env.js:/overleaf/services/web/webpack.config.dev-env.js