version: '3.8' services: postgres: hostname: postgres image: library/postgres:12-alpine container_name: postgres_app_eye networks: internal: volumes: - ./postgres_data:/var/lib/postgresql/data env_file: - ./.env backend: container_name: backend_app_eye networks: default: internal: expose: - "8000" build: context: ./ dockerfile: ./Dockerfile entrypoint: /app/entrypoint.sh depends_on: - postgres ports: - "8000:8000" volumes: - ./:/app env_file: - ./.env links: - celery - rabbit - postgres - redis celery: build: context: ./ dockerfile: ./Dockerfile container_name: celery_eye volumes: - "./:/app" networks: default: internal: entrypoint: /app/entrypoint_celery.sh env_file: - ./.env depends_on: - redis - postgres links: - postgres - rabbit - redis celery_beat: build: context: ./ dockerfile: ./Dockerfile volumes: - "./:/app" networks: default: internal: container_name: celery_beat_eye entrypoint: /app/entrypoint_beat_celery.sh env_file: - ./.env depends_on: - redis - postgres links: - postgres - rabbit - redis rabbit: hostname: rabbit image: rabbitmq:3-management networks: default: internal: environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=mypass # Redis - result backend redis: container_name: redis_app_eye networks: default: internal: image: redis:alpine hostname: redis networks: default: internal: internal: true