80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
version: "3.4"
|
|
|
|
services:
|
|
mongo:
|
|
container_name: mongo
|
|
image: mongo
|
|
healthcheck:
|
|
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
|
|
interval: 2m
|
|
timeout: 2m
|
|
retries: 30
|
|
start_period: 10s
|
|
start_interval: 3s
|
|
volumes:
|
|
- ./docker-data/mongo:/data/db
|
|
ports:
|
|
- 27017:27017
|
|
|
|
node_create_user:
|
|
build: &backend_docker_build
|
|
context: .
|
|
dockerfile: docker/tdrive-node/Dockerfile
|
|
# target: development
|
|
target: production
|
|
environment: &backend_env_vars
|
|
- DEV=dev
|
|
- ACCOUNTS_TYPE=internal
|
|
- DB_DRIVER=mongodb
|
|
- DB_MONGO_URI=mongodb://mongo:27017
|
|
- PUBSUB_TYPE=local
|
|
- SEARCH_DRIVER=mongodb
|
|
- STORAGE_DRIVER=local
|
|
- STORAGE_LOCAL_PATH=/tmp/td
|
|
- ENABLE_FEATURE_ANTIVIRUS=false
|
|
- DIAG_PROBE_SECRET=diag-secret
|
|
|
|
command: /usr/src/app/bin/twake-cli dev set_local_user a@b.com aaaaaaaa
|
|
volumes: &backend_volumes
|
|
- ./backend/node/profiles:/usr/src/app/profiles
|
|
- ./backend/node/src:/usr/src/app/src
|
|
depends_on: &backend_dependencies
|
|
mongo:
|
|
condition: service_healthy
|
|
|
|
node:
|
|
build: *backend_docker_build
|
|
ports:
|
|
- 4000:4000
|
|
- 9229:9229
|
|
environment: *backend_env_vars
|
|
healthcheck:
|
|
test: curl --fail 'http://localhost:4000/diagnostics/t/ready?secret=diag-secret'
|
|
volumes: *backend_volumes
|
|
depends_on:
|
|
<<: *backend_dependencies
|
|
node_create_user:
|
|
condition: service_completed_successfully
|
|
|
|
frontend:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/tdrive-frontend/Dockerfile
|
|
container_name: tdrive-frontend
|
|
environment:
|
|
- DEV=production
|
|
- SSL_CERTS=off
|
|
- NODE_HOST=http://node:4000
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
depends_on:
|
|
node:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./docker-data/logs/nginx/:/var/log/nginx
|
|
- ./docker-data/letsencrypt/:/etc/letsencrypt/
|
|
- ./docker-data/drive-preview/:/tdrive-core/web/medias/
|
|
- ./docker-data/uploads/:/tdrive-core/web/upload/
|
|
- ./docker-data/ssl:/etc/nginx/ssl
|