services: redis: image: redis:7 restart: always ports: - "6379:6379" networks: - toinv-network healthcheck: test: ["CMD", "redis-cli","ping"] back: build: context: ./back dockerfile: Dockerfile image: ci.svs-tech.pro/toinv_back:latest command: poetry run python manage.py runserver 0.0.0.0:8000 restart: always expose: - "8000" volumes: - ./env/back.env:/app/.env networks: - toinv-network healthcheck: test: curl -f http://localhost:8000/ || exit 1 interval: 5s timeout: 3s retries: 20 celery: build: context: ./back dockerfile: Dockerfile image: ci.svs-tech.pro/toinv_back:latest command: poetry run celery --app api worker --loglevel=info restart: always volumes: - ./env/back.env:/app/.env networks: - toinv-network depends_on: back: condition: service_healthy redis: condition: service_healthy front: build: context: ./front dockerfile: Dockerfile restart: always volumes: - ./env/front.env:/app/.env expose: - "3000" depends_on: back: condition: service_healthy networks: - toinv-network image: ci.svs-tech.pro/toinv_front:latest nginx: image: ci.svs-tech.pro/nginx:1.25 restart: always ports: - "${WEB_PORT:-80}:80" depends_on: back: condition: service_healthy links: - back:back - front:front - redis:redis volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf.d:/etc/nginx/conf.d networks: - toinv-network networks: toinv-network: driver: bridge