docker-compose.yml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # This file was auto-generated, do not edit it directly.
  2. # Instead run bin/update_build_scripts from
  3. # https://github.com/overleaf/internal/
  4. services:
  5. test_unit:
  6. image: node:24.14.1
  7. volumes:
  8. - .:/overleaf/services/docstore
  9. - ../../node_modules:/overleaf/node_modules
  10. - ../../libraries:/overleaf/libraries
  11. - ../../package.json:/overleaf/package.json
  12. - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
  13. - ../../yarn.lock:/overleaf/yarn.lock
  14. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  15. - ../../tools/migrations:/overleaf/tools/migrations
  16. - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json
  17. working_dir: /overleaf/services/docstore
  18. environment:
  19. MOCHA_GREP: ${MOCHA_GREP}
  20. LOG_LEVEL: ${LOG_LEVEL:-}
  21. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  22. NODE_ENV: test
  23. NODE_OPTIONS: "--unhandled-rejections=strict"
  24. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  25. command: corepack yarn run --silent test:unit
  26. user: node
  27. depends_on:
  28. mongo:
  29. condition: service_started
  30. test_acceptance:
  31. image: node:24.14.1
  32. volumes:
  33. - .:/overleaf/services/docstore
  34. - ../../node_modules:/overleaf/node_modules
  35. - ../../libraries:/overleaf/libraries
  36. - ../../package.json:/overleaf/package.json
  37. - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
  38. - ../../yarn.lock:/overleaf/yarn.lock
  39. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  40. - ../../tools/migrations:/overleaf/tools/migrations
  41. working_dir: /overleaf/services/docstore
  42. environment:
  43. RETRIES:
  44. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  45. POSTGRES_HOST: postgres
  46. GCS_API_ENDPOINT: http://gcs:9090
  47. GCS_PROJECT_ID: fake
  48. STORAGE_EMULATOR_HOST: http://gcs:9090/storage/v1
  49. MOCHA_GREP: ${MOCHA_GREP}
  50. LOG_LEVEL: ${LOG_LEVEL:-}
  51. NODE_ENV: test
  52. NODE_OPTIONS: "--unhandled-rejections=strict"
  53. user: node
  54. depends_on:
  55. mongo:
  56. condition: service_started
  57. gcs:
  58. condition: service_healthy
  59. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  60. command: corepack yarn run --silent test:acceptance
  61. mongo:
  62. image: mongo:8.0.11
  63. command: --replSet overleaf --notablescan
  64. volumes:
  65. - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
  66. - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
  67. entrypoint: /mongodb-docker-entrypoint-wait.sh
  68. environment:
  69. MONGO_INITDB_DATABASE: sharelatex
  70. extra_hosts:
  71. # Required when using the automatic database setup for initializing the
  72. # replica set. This override is not needed when running the setup after
  73. # starting up mongo.
  74. - mongo:127.0.0.1
  75. gcs:
  76. image: fsouza/fake-gcs-server:1.52.3
  77. command: ["--port=9090", "--scheme=http", "--external-url=http://gcs:9090"]
  78. healthcheck:
  79. test: wget --quiet --output-document=/dev/null http://localhost:9090/storage/v1/b
  80. interval: 1s
  81. retries: 20