# This docker-compose file will spin up an ACS community installation on a local host. # It requires at least 6GB of memory available to distribute among containers. # # For performance tuning, increase each container mem_limit and give a percentage of # it to the JVM. Use either the -Xms,-Xmx flags or the newly added flags in # java 10+: -XX:MaxRAMPercentage and -XX:MinRAMPercentage. # More details here: # https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html # # Using version 2 as 3 does not support resource constraint options # (cpu_*, mem_* limits) for non swarm mode in Compose version: "2" services: alfresco: image: docker.io/alfresco/alfresco-content-repository-community:23.2.1 mem_limit: 1900m environment: JAVA_TOOL_OPTIONS: >- -Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding -Dencryption.keyAlgorithm=DESede -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=DESede JAVA_OPTS: >- -Ddb.driver=org.postgresql.Driver -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.url=jdbc:postgresql://postgres:5432/alfresco -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000 -Dsolr.secureComms=secret -Dsolr.sharedSecret=secret -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6 -Dshare.host=127.0.0.1 -Dshare.port=8080 -Dalfresco.host=localhost -Dalfresco.port=8080 -Dcsrf.filter.enabled=false -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos -Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true" -Ddeployment.method=DOCKER_COMPOSE -DlocalTransform.core-aio.url=http://transform-core-aio:8090/ -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 transform-core-aio: image: alfresco/alfresco-transform-core-aio:5.1.1 mem_limit: 1536m environment: JAVA_OPTS: >- -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 ports: - "8090:8090" share: image: docker.io/alfresco/alfresco-share:23.2.1 mem_limit: 1g environment: REPO_HOST: "alfresco" REPO_PORT: "8080" JAVA_OPTS: >- -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 -Dalfresco.host=localhost -Dalfresco.port=8080 -Dalfresco.context=alfresco -Dalfresco.protocol=http postgres: image: postgres:14.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: docker.io/alfresco/alfresco-search-services:2.0.10 mem_limit: 2g environment: # Solr needs to know how to register itself with Alfresco SOLR_ALFRESCO_HOST: "alfresco" SOLR_ALFRESCO_PORT: "8080" # Alfresco needs to know how to call solr SOLR_SOLR_HOST: "solr6" SOLR_SOLR_PORT: "8983" # Create the default alfresco and archive cores SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive" # HTTPS or SECRET ALFRESCO_SECURE_COMMS: "secret" # SHARED SECRET VALUE JAVA_TOOL_OPTIONS: >- -Dalfresco.secureComms.secret=secret ports: - "8083:8983" # Browser port activemq: image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8 mem_limit: 1g ports: - "8161:8161" # Web Console - "5672:5672" # AMQP - "61616:61616" # OpenWire - "61613:61613" # STOMP content-app: image: alfresco/alfresco-content-app:4.4.1 mem_limit: 128m environment: APP_BASE_SHARE_URL: "http://localhost:8080/aca/#/preview/s" control-center: image: quay.io/alfresco/alfresco-control-center:8.4.1 mem_limit: 128m environment: APP_CONFIG_PROVIDER: "ECM" APP_CONFIG_AUTH_TYPE: "BASIC" BASE_PATH: ./ proxy: image: alfresco/alfresco-acs-nginx:3.4.2 mem_limit: 128m environment: DISABLE_PROMETHEUS: "true" DISABLE_SYNCSERVICE: "true" DISABLE_ADW: "true" ENABLE_CONTENT_APP: "true" depends_on: - alfresco - content-app - control-center ports: - "8080:8080" links: - content-app - alfresco - share - control-center