docker-compose.yml 3.5 KB

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