# This docker-compose file will start up the environment needed for testing with T-Engines, ActiveMQ etc.
# Based on the community version in acs-deployment

# Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose
version: "2"

services:
    transform-core-aio:
        image: alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
        mem_limit: 1536m
        environment:
            JAVA_OPTS: " -Xms256m -Xmx1536m"
        ports:
            - 8090:8090

    postgres:
        image: postgres:15.4
        mem_limit: 512m
        environment:
            - POSTGRES_PASSWORD=alfresco
            - POSTGRES_USER=alfresco
            - POSTGRES_DB=alfresco
        command: postgres -c max_connections=300 -c log_min_messages=LOG
        ports:
            - 5432:5432

    solr6:
        image: alfresco/alfresco-search-services:2.0.16-A.2
        mem_limit: 2g
        environment:
            #Solr needs to know how to register itself with Alfresco
            SOLR_ALFRESCO_HOST: "host.docker.internal"
            SOLR_ALFRESCO_PORT: "8080"
            #Alfresco needs to know how to call solr
            SOLR_SOLR_HOST: "localhost"
            SOLR_SOLR_PORT: "8983"
            #Create the default alfresco and archive cores
            SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
            #HTTP by default
            ALFRESCO_SECURE_COMMS: "secret"
            JAVA_TOOL_OPTIONS:
              "
              -Dalfresco.secureComms.secret=secret
              "
            SOLR_JAVA_MEM: "-Xms2g -Xmx2g"
        ports:
            - 8983:8983 #Browser port

    activemq:
        image: alfresco/alfresco-activemq:5.18.3-jre17-rockylinux8
        mem_limit: 1g
        ports:
            - 8161:8161 # Web Console
            - 5672:5672 # AMQP
            - 61616:61616 # OpenWire
            - 61613:61613 # STOMP

