docker-compose.yml 2.8 KB

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