mirror of
https://github.com/overleaf/overleaf.git
synced 2024-10-24 21:12:38 -04:00
2b72d89171
[server-ce] use database init script for setting up mongo replica set GitOrigin-RevId: cf5c820a8c26da43de2f5c66677dba2c40a3667e
149 lines
4.4 KiB
YAML
149 lines
4.4 KiB
YAML
version: '2.2'
|
|
services:
|
|
sharelatex:
|
|
image: ${IMAGE_TAG_CE:-sharelatex/sharelatex:latest}
|
|
stop_grace_period: 0s
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
mailtrap:
|
|
condition: service_started
|
|
environment:
|
|
OVERLEAF_SITE_URL: 'http://sharelatex'
|
|
OVERLEAF_APP_NAME: Overleaf Community Edition
|
|
OVERLEAF_MONGO_URL: mongodb://mongo/sharelatex?directConnection=true
|
|
OVERLEAF_REDIS_HOST: redis
|
|
REDIS_HOST: redis
|
|
OVERLEAF_EMAIL_FROM_ADDRESS: 'welcome@example.com'
|
|
OVERLEAF_EMAIL_SMTP_HOST: 'mailtrap'
|
|
OVERLEAF_EMAIL_SMTP_PORT: '25'
|
|
OVERLEAF_EMAIL_SMTP_IGNORE_TLS: 'true'
|
|
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
|
|
ENABLE_CONVERSIONS: 'true'
|
|
EMAIL_CONFIRMATION_DISABLED: 'true'
|
|
healthcheck:
|
|
test: curl --fail http://localhost:3000/status
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 30
|
|
|
|
mailtrap:
|
|
image: mailtrap
|
|
environment:
|
|
MAILTRAP_PASSWORD: 'password-for-mailtrap'
|
|
|
|
mongo:
|
|
image: mongo:5.0.17
|
|
command: '--replSet overleaf'
|
|
volumes:
|
|
- ../mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
|
|
environment:
|
|
MONGO_INITDB_DATABASE: sharelatex
|
|
extra_hosts:
|
|
# Required when using the automatic database setup for initializing the replica set.
|
|
# This override is not needed when running the setup after starting up mongo.
|
|
- mongo:127.0.0.1
|
|
healthcheck:
|
|
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 30
|
|
|
|
redis:
|
|
image: redis:7.2.1
|
|
|
|
git-bridge:
|
|
image: quay.io/sharelatex/git-bridge:latest
|
|
environment:
|
|
GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" # "http://sharelatex/api/v0/" for version 4.1.6 and earlier
|
|
GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
|
|
GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
|
|
GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
|
|
user: root
|
|
command: ["/server-pro-start.sh"]
|
|
|
|
e2e:
|
|
image: cypress/included:13.13.2
|
|
stop_grace_period: 0s
|
|
entrypoint: npm
|
|
command: run cypress:run
|
|
working_dir: /e2e
|
|
volumes:
|
|
- ./:/e2e
|
|
environment:
|
|
CYPRESS_SHARD:
|
|
CYPRESS_BASE_URL: http://sharelatex
|
|
SPEC_PATTERN: '**/*.spec.{js,jsx,ts,tsx}'
|
|
depends_on:
|
|
sharelatex:
|
|
condition: service_healthy
|
|
host-admin:
|
|
condition: service_healthy
|
|
|
|
e2e-open:
|
|
image: cypress/included:13.13.2
|
|
stop_grace_period: 0s
|
|
entrypoint: npm
|
|
command: run cypress:open
|
|
working_dir: /e2e
|
|
volumes:
|
|
- ./:/e2e
|
|
- /tmp/.X11-unix:/tmp/.X11-unix
|
|
user: "${DOCKER_USER:-1000:1000}"
|
|
environment:
|
|
CYPRESS_SHARD:
|
|
CYPRESS_BASE_URL: http://sharelatex
|
|
SPEC_PATTERN: '**/*.spec.{js,jsx,ts,tsx}'
|
|
DISPLAY: ${DISPLAY:-:0}
|
|
depends_on:
|
|
sharelatex:
|
|
condition: service_healthy
|
|
host-admin:
|
|
condition: service_healthy
|
|
|
|
host-admin:
|
|
build: .
|
|
entrypoint: ["node", "--watch", "host-admin.js"]
|
|
# See comment in Makefile regarding matching file paths
|
|
working_dir: $PWD
|
|
volumes:
|
|
- $PWD:$PWD
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
stop_grace_period: 0s
|
|
environment:
|
|
PWD:
|
|
CYPRESS_SHARD:
|
|
COMPOSE_PROJECT_NAME:
|
|
TEX_LIVE_DOCKER_IMAGE:
|
|
ALL_TEX_LIVE_DOCKER_IMAGES:
|
|
IMAGE_TAG_CE: ${IMAGE_TAG_CE:-sharelatex/sharelatex:latest}
|
|
IMAGE_TAG_PRO: ${IMAGE_TAG_PRO:-quay.io/sharelatex/sharelatex-pro:latest}
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: curl --fail http://localhost/status
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 30
|
|
|
|
saml:
|
|
restart: always
|
|
image: gcr.io/overleaf-ops/saml-test
|
|
environment:
|
|
SAML_TEST_SP_ENTITY_ID: 'sharelatex-test-saml'
|
|
SAML_BASE_URL_PATH: 'http://saml/simplesaml/'
|
|
SAML_TEST_SP_LOCATION: 'http://sharelatex/saml/callback'
|
|
|
|
ldap:
|
|
restart: always
|
|
image: rroemhild/test-openldap:1.1
|
|
# Workaround large memory allocation (using the max-open-files-limit as socket buffer scale).
|
|
# REF: https://github.com/moby/moby/issues/8231#issuecomment-63877553
|
|
# REF: https://github.com/moby/moby/issues/8231#issuecomment-63871343
|
|
command:
|
|
- 'bash'
|
|
- '-c'
|
|
- 'ulimit -n 1024 && exec bash /run.sh'
|