old_console/docker/compose/django.yml
2024-11-02 14:12:45 +03:00

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: