docker-compose.yml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. build:
  7. context: ../..
  8. dockerfile: services/docstore/Dockerfile
  9. target: base
  10. volumes:
  11. - .:/overleaf/services/docstore
  12. - ../../libraries:/overleaf/libraries
  13. - ../../package.json:/overleaf/package.json
  14. - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
  15. - ../../yarn.lock:/overleaf/yarn.lock
  16. - ../../.yarn:/overleaf/.yarn
  17. - ../../.pnp.cjs:/overleaf/.pnp.cjs
  18. - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
  19. - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
  20. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  21. - ../../tools/migrations:/overleaf/tools/migrations
  22. - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json
  23. working_dir: /overleaf/services/docstore
  24. environment:
  25. MOCHA_GREP: ${MOCHA_GREP}
  26. LOG_LEVEL: ${LOG_LEVEL:-}
  27. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  28. NODE_ENV: test
  29. NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
  30. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  31. command: yarn run --silent test:unit
  32. user: node
  33. depends_on:
  34. mongo:
  35. condition: service_started
  36. test_acceptance:
  37. build:
  38. context: ../..
  39. dockerfile: services/docstore/Dockerfile
  40. target: base
  41. volumes:
  42. - .:/overleaf/services/docstore
  43. - ../../libraries:/overleaf/libraries
  44. - ../../package.json:/overleaf/package.json
  45. - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
  46. - ../../yarn.lock:/overleaf/yarn.lock
  47. - ../../.yarn:/overleaf/.yarn
  48. - ../../.pnp.cjs:/overleaf/.pnp.cjs
  49. - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
  50. - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
  51. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  52. - ../../tools/migrations:/overleaf/tools/migrations
  53. working_dir: /overleaf/services/docstore
  54. environment:
  55. RETRIES:
  56. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  57. POSTGRES_HOST: postgres
  58. GCS_API_ENDPOINT: http://gcs:9090
  59. GCS_PROJECT_ID: fake
  60. STORAGE_EMULATOR_HOST: http://gcs:9090/storage/v1
  61. MOCHA_GREP: ${MOCHA_GREP}
  62. LOG_LEVEL: ${LOG_LEVEL:-}
  63. NODE_ENV: test
  64. NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
  65. user: node
  66. depends_on:
  67. mongo:
  68. condition: service_started
  69. gcs:
  70. condition: service_healthy
  71. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  72. command: yarn run --silent test:acceptance
  73. mongo:
  74. image: mongo:8.0.11
  75. command: --replSet overleaf --notablescan
  76. volumes:
  77. - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
  78. - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
  79. entrypoint: /mongodb-docker-entrypoint-wait.sh
  80. environment:
  81. MONGO_INITDB_DATABASE: sharelatex
  82. extra_hosts:
  83. # Required when using the automatic database setup for initializing the
  84. # replica set. This override is not needed when running the setup after
  85. # starting up mongo.
  86. - mongo:127.0.0.1
  87. gcs:
  88. image: fsouza/fake-gcs-server:1.52.3
  89. command: ["--port=9090", "--scheme=http", "--external-url=http://gcs:9090"]
  90. healthcheck:
  91. test: wget --quiet --output-document=/dev/null http://localhost:9090/storage/v1/b
  92. interval: 1s
  93. retries: 20