docker-compose.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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:22.18.0
  7. volumes:
  8. - .:/overleaf/services/document-updater
  9. - ../../node_modules:/overleaf/node_modules
  10. - ../../libraries:/overleaf/libraries
  11. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  12. working_dir: /overleaf/services/document-updater
  13. environment:
  14. MOCHA_GREP: ${MOCHA_GREP}
  15. LOG_LEVEL: ${LOG_LEVEL:-}
  16. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  17. NODE_ENV: test
  18. NODE_OPTIONS: "--unhandled-rejections=strict"
  19. REDIS_HOST: redis_test
  20. HISTORY_REDIS_HOST: redis_test
  21. QUEUES_REDIS_HOST: redis_test
  22. ANALYTICS_QUEUES_REDIS_HOST: redis_test
  23. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  24. command: npm run --silent test:unit
  25. user: node
  26. depends_on:
  27. mongo:
  28. condition: service_started
  29. redis_test:
  30. condition: service_healthy
  31. test_acceptance:
  32. image: node:22.18.0
  33. volumes:
  34. - .:/overleaf/services/document-updater
  35. - ../../node_modules:/overleaf/node_modules
  36. - ../../libraries:/overleaf/libraries
  37. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  38. - ../../tools/migrations:/overleaf/tools/migrations
  39. working_dir: /overleaf/services/document-updater
  40. environment:
  41. ELASTIC_SEARCH_DSN: es:9200
  42. REDIS_HOST: redis_test
  43. HISTORY_REDIS_HOST: redis_test
  44. QUEUES_REDIS_HOST: redis_test
  45. ANALYTICS_QUEUES_REDIS_HOST: redis_test
  46. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  47. POSTGRES_HOST: postgres
  48. MOCHA_GREP: ${MOCHA_GREP}
  49. LOG_LEVEL: ${LOG_LEVEL:-}
  50. NODE_ENV: test
  51. NODE_OPTIONS: "--unhandled-rejections=strict"
  52. user: node
  53. depends_on:
  54. mongo:
  55. condition: service_started
  56. redis_test:
  57. condition: service_healthy
  58. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  59. command: npm run --silent test:acceptance
  60. redis_test:
  61. image: redis:7.4.3
  62. healthcheck:
  63. test: ping=$$(redis-cli ping) && [ "$$ping" = 'PONG' ]
  64. interval: 1s
  65. retries: 20
  66. mongo:
  67. image: mongo:8.0.11
  68. command: --replSet overleaf
  69. volumes:
  70. - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
  71. - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
  72. entrypoint: /mongodb-docker-entrypoint-wait.sh
  73. environment:
  74. MONGO_INITDB_DATABASE: sharelatex
  75. extra_hosts:
  76. # Required when using the automatic database setup for initializing the
  77. # replica set. This override is not needed when running the setup after
  78. # starting up mongo.
  79. - mongo:127.0.0.1