80 lines
2.0 KiB
YAML
80 lines
2.0 KiB
YAML
version: "3.4"
|
|
|
|
services:
|
|
scylladb:
|
|
image: scylladb/scylla:4.1.0
|
|
command: --smp 1 --memory 1G
|
|
ports:
|
|
- 9042:9042
|
|
volumes:
|
|
- ./docker-data/scylladb:/var/lib/scylla
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "nodetool status | grep UN"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3
|
|
healthcheck:
|
|
test: rabbitmq-diagnostics -q ping
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
node:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/twake-node/Dockerfile
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PUBSUB_URLS=amqp://guest:guest@rabbitmq:5672
|
|
volumes:
|
|
- ./default-configuration/backend-node/production.json:/usr/src/app/config/production.json
|
|
- ./docker-data/documents/:/storage/
|
|
depends_on:
|
|
scylladb:
|
|
condition: service_healthy
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
|
|
php:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/twake-php/Dockerfile
|
|
environment:
|
|
- DEV=production
|
|
volumes:
|
|
- ./default-configuration/backend/Parameters.php:/configuration/Parameters.php
|
|
- ./connectors/:/twake-core/src/BuiltInConnectors/Connectors
|
|
- ./docker-data/drive/:/twake-core/drive/
|
|
- ./docker-data/fpm/:/etc/docker-data/fpm/
|
|
- ./docker-data/drive-preview/:/twake-core/web/medias/
|
|
- ./docker-data/uploads/:/twake-core/web/upload/
|
|
depends_on:
|
|
scylladb:
|
|
condition: service_healthy
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
|
|
nginx:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/twake-nginx/Dockerfile
|
|
environment:
|
|
- DEV=production
|
|
- SSL_CERTS=selfsigned
|
|
ports:
|
|
- 80:80
|
|
- 8000:80
|
|
- 443:443
|
|
depends_on:
|
|
- php
|
|
- node
|
|
volumes:
|
|
- ./docker-data/logs/nginx/:/var/log/nginx
|
|
- ./docker-data/letsencrypt/:/etc/letsencrypt/
|
|
- ./docker-data/drive-preview/:/twake-core/web/medias/
|
|
- ./docker-data/uploads/:/twake-core/web/upload/
|
|
- ./docker-data/ssl:/etc/nginx/ssl
|