services:
  postgres:
    build:
      context: "services/"
      dockerfile: "postgres/Dockerfile"
    image: "docker-hosted.nexus.bthlabs.pl/hotpocket/postgres:15.13-local"
    ports:
      - "5432:5432"
    environment:
      - "POSTGRES_PASSWORD=hotpocketm4st3r"
      - "POSTGRES_USER=hotpocket"
      - "POSTGRES_DB=hotpocket"
    volumes:
      - "postgres_data:/var/lib/postgresql/data"
    networks:
      default:
        aliases:
          - "postgres.hotpocket.work.bthlabs.net"
    restart: "unless-stopped"

  keycloak:
    build:
      context: "services/"
      dockerfile: "keycloak/Dockerfile"
    image: "docker-hosted.nexus.bthlabs.pl/hotpocket/keycloak:22.0.3-local"
    command: "-v start-dev --https-certificate-file=/opt/tls/app.hotpocket.work.bthlabs.net.crt --https-certificate-key-file=/opt/tls/app.hotpocket.work.bthlabs.net.key"
    ports:
      - "8080:8080"
      - "8443:8443"
    environment:
      - "KEYCLOAK_ADMIN=hotpocket"
      - "KEYCLOAK_ADMIN_PASSWORD=hotpocketm4st3r"
      - "KEYCLOAK_HOSTNAME=auth.hotpocket.work.bthlabs.net"
    volumes:
      - "./services/keycloak/fixtures:/opt/import"
      - "./services/tls:/opt/tls"
      - "keycloak_data:/opt/keycloak/data"
      - "keycloak_var:/opt/kcsetup"
    networks:
      default:
        aliases:
          - "auth.hotpocket.work.bthlabs.net"
    restart: "unless-stopped"

  rabbitmq:
    build:
      context: "services/"
      dockerfile: "rabbitmq/Dockerfile"
    image: "docker-hosted.nexus.bthlabs.pl/hotpocket/rabbitmq:3.10.8-local"
    ports:
      - "5672:5672"
      - "15672:15672"
    environment:
      RABBITMQ_DEFAULT_USER: "hotpocket"
      RABBITMQ_DEFAULT_PASS: "hotpocketm4st3r"
      RABBITMQ_DEFAULT_VHOST: "hotpocket"
    volumes:
      - "rabbitmq_data:/var/lib/rabbitmq"
    networks:
      default:
        aliases:
          - "rabbitmq.hotpocket.work.bthlabs.net"
    restart: "unless-stopped"

volumes:
  postgres_data:
  keycloak_data:
  keycloak_var:
  rabbitmq_data:
