overleaf/develop/docker-compose.yml

179 lines
3.9 KiB
YAML
Raw Normal View History

volumes:
clsi-cache:
clsi-output:
filestore-public-files:
filestore-template-files:
filestore-uploads:
filestore-user-files:
mongo-data:
npm-cache:
redis-data:
sharelatex-data:
spelling-cache:
web-data:
services:
chat:
build:
context: ..
dockerfile: services/chat/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
clsi:
build:
context: ..
dockerfile: services/clsi/Dockerfile
env_file:
- dev.env
environment:
- DOCKER_RUNNER=true
- TEXLIVE_IMAGE=texlive-full # docker build texlive -t texlive-full
- COMPILES_HOST_DIR=${PWD}/compiles
user: root
volumes:
- npm-cache:/root/.npm
- ${PWD}/compiles:/overleaf/services/clsi/compiles
- ${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock
- clsi-cache:/overleaf/services/clsi/cache
- clsi-output:/overleaf/services/clsi/output
contacts:
build:
context: ..
dockerfile: services/contacts/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
docstore:
build:
context: ..
dockerfile: services/docstore/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
document-updater:
build:
context: ..
dockerfile: services/document-updater/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
filestore:
build:
context: ..
dockerfile: services/filestore/Dockerfile
env_file:
- dev.env
# environment:
# - ENABLE_CONVERSIONS=true
volumes:
- npm-cache:/root/.npm
- filestore-public-files:/overleaf/services/filestore/public_files
- filestore-template-files:/overleaf/services/filestore/template_files
- filestore-uploads:/overleaf/services/filestore/uploads
- filestore-user-files:/overleaf/services/filestore/user_files
mongo:
image: mongo:4.4
ports:
- "127.0.0.1:27017:27017" # for debugging
volumes:
- npm-cache:/root/.npm
- mongo-data:/data/db
notifications:
build:
context: ..
dockerfile: services/notifications/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
real-time:
build:
context: ..
dockerfile: services/real-time/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
redis:
image: redis:5
ports:
- "127.0.0.1:6379:6379" # for debugging
volumes:
- redis-data:/data
spelling:
build:
context: ..
dockerfile: services/spelling/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
- spelling-cache:/overleaf/services/spelling/cache
track-changes:
build:
context: ..
dockerfile: services/track-changes/Dockerfile
env_file:
- dev.env
volumes:
- npm-cache:/root/.npm
web:
build:
context: ..
dockerfile: services/web/Dockerfile
target: dev
env_file:
- dev.env
environment:
- APP_NAME=Overleaf Community Edition
- ENABLED_LINKED_FILE_TYPES=project_file,project_output_file
- EMAIL_CONFIRMATION_DISABLED=true
- NODE_ENV=development
- SHARELATEX_ALLOW_PUBLIC_ACCESS=true
command: ["node", "app.js"]
volumes:
- npm-cache:/root/.npm
- sharelatex-data:/var/lib/sharelatex
- web-data:/overleaf/services/web/data
depends_on:
- mongo
- redis
- chat
- clsi
- contacts
- docstore
- document-updater
- filestore
- notifications
- real-time
- spelling
webpack:
build:
context: ..
dockerfile: services/web/Dockerfile
target: dev
command: ["npx", "webpack", "serve", "--config", "webpack.config.dev-env.js"]
ports:
- "127.0.0.1:80:3808"
volumes:
- npm-cache:/root/.npm
- ./webpack.config.dev-env.js:/overleaf/services/web/webpack.config.dev-env.js