docker-compose.yml 2.7 KB

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