126 lines
No EOL
3.8 KiB
YAML
126 lines
No EOL
3.8 KiB
YAML
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: |