version: '3'

services:
  eureka:
    build: ../eureka-server
    image: eureka-server
    container_name: eureka-server
    ports:
      - 8761:8761

  postgres:
    build: ../postgres
    image: postgres
    container_name: postgres
    volumes:
      - /tmp/data/postgresql:/var/lib/postgresql/data
    ports:
      - 5432:5432
    environment:
      - POSTGRES_PASSWORD=lab_pass

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.9.2
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200

  rabbitmq:
    image: rabbitmq:3-management
    container_name: rabbit
    ports:
      - 15672:15672
      - 5672:5672
    labels:
      NAME: rabbitmq
    volumes:
      - ./rabbitmq-isolated.conf:/etc/rabbitmq/rabbitmq.config