version: '3.2' services: # Core django application djangoapp: env_file: - ../../.env.dev container_name: ${DOCKER_DJANGO_NAME:-djangoapp} build: context: ../../ dockerfile: docker/compose/config/python/python.docker hostname: djangoapp volumes: - public:/usr/src/app/public - ../../dockerlogs/gunicorn:/var/log/ - ../../:/usr/src/app/ - ./config/elk/vector/pipeline:/usr/src/app/public/vector - ../../public/test_coverage:/usr/src/app/public/test_coverage - ../../frontend:/build_logs - react-volume:/react-build command: > /bin/bash -c "/bin/bash /usr/src/app/docker/django_entrypoint.sh" tty: true stdin_open: true depends_on: - db - redis ports: - "9091:8081" - "9041:9041" - ${WEB_PDB_PORT:-7755}:${WEB_PDB_PORT:-7755} # NGINX server pnginxserver: env_file: - ../../.env.dev container_name: ${DOCKER_NGINX_NAME:-pnginxserver} build: context: ./config/nginx dockerfile: nginx.docker hostname: nginxserver volumes: - public:/usr/src/app/public - ../../dockerlogs/nginx:/var/log/nginx ports: - "${WEB_UI_PORT:-9090}:80" depends_on: - djangoapp tty: true #React react: env_file: - ../../.env.dev container_name: react build: context: ../../ dockerfile: docker/compose/config/react/Dockerfile volumes: - '../../frontend:/app' #- '/frontend/node_modules' - react-volume:/app/build environment: - CHOKIDAR_USEPOLLING=true command: > /bin/ash -c "echo "start" > /app/build.log; \ npm ci; \ chown -R node:node /app; \ npm run build | tee /app/build.log;" # Postgresql db: env_file: - ../../.env.dev container_name: ${DOCKER_DB_NAME:-db} image: postgres:12.0-alpine # Redis redis: env_file: - ../../.env.dev container_name: ${DOCKER_REDIS_NAME:-redis} image: "redis:alpine" # Celery celery: container_name: ${DOCKER_CELERY_NAME:-celerycontainer} env_file: - ../../.env.dev build: context: ../../ dockerfile: docker/compose/config/python/python.docker command: bash -c "py3clean . && celery -A console worker -l info" volumes: - public:/usr/src/app/public - ../../:/usr/src/app/ depends_on: - db - redis - djangoapp tty: true # Celery beat celery-beat: env_file: - ../../.env.dev container_name: ${DOCKER_CELERY_BEAT_NAME:-celerybeatcontainer} build: context: ../../ dockerfile: docker/compose/config/python/python.docker command: bash -c "py3clean . && celery -A console beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler" volumes: - ../../:/usr/src/app/ - public:/usr/src/app/public depends_on: - db - redis - celery - djangoapp tty: true restart: always rabbitmq-management: image: rabbitmq:3.7.8-management ports: - "15672:15672" - "5672:5672" volumes: - rabbitmq:/var/lib/rabbitmq volumes: public: # web app generated data (static, media, etc.) react-volume: rabbitmq: