docker-compose.yml 3.3 KB

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