version: '3' volumes: akarpov_local_postgres_data: {} akarpov_local_postgres_data_backups: {} akarpov_local_elasticsearch_data: {} services: django: &django build: context: . dockerfile: ./compose/local/django/Dockerfile image: akarpov_local_django container_name: akarpov_local_django platform: linux/x86_64 depends_on: - postgres - redis - mailhog - elasticsearch volumes: - .:/app:z env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres ports: - "8000:8000" command: /start redirect: build: context: . dockerfile: ./compose/local/django/Dockerfile image: akarpov_local_redirect container_name: akarpov_local_redirect platform: linux/x86_64 depends_on: - postgres - redis - mailhog volumes: - .:/app:z env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres ports: - "3000:3000" command: /start-redirect postgres: build: context: . dockerfile: ./compose/production/postgres/Dockerfile image: akarpov_production_postgres container_name: akarpov_local_postgres volumes: - akarpov_local_postgres_data:/var/lib/postgresql/data:Z - akarpov_local_postgres_data_backups:/backups:z env_file: - ./.envs/.local/.postgres mailhog: image: mailhog/mailhog:v1.0.0 container_name: akarpov_local_mailhog ports: - "8025:8025" redis: image: redis:6 container_name: akarpov_local_redis celeryworker: <<: *django image: akarpov_local_celeryworker container_name: akarpov_local_celeryworker depends_on: - redis - postgres - mailhog ports: [] command: /start-celeryworker celerybeat: <<: *django image: akarpov_local_celerybeat container_name: akarpov_local_celerybeat depends_on: - redis - postgres - mailhog ports: [] command: /start-celerybeat flower: <<: *django image: akarpov_local_flower container_name: akarpov_local_flower ports: - "5555:5555" command: /start-flower elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3 # Use the desired version container_name: akarpov_local_elasticsearch environment: - discovery.type=single-node # This avoids bootstrap checks, suitable for development. - ES_JAVA_OPTS=-Xms512m -Xmx512m # Set the JVM heap size volumes: - akarpov_local_elasticsearch_data:/usr/share/elasticsearch/data ports: - "9200:9200" - "9300:9300"