docker-compose.yml 2.2 KB

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