# Originally sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml # version: "3" services: platform: image: alfresco/alfresco-content-repository-community:${ACS_TAG} 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: " -Xms512m -Xmx1g -Ddb.driver=org.postgresql.Driver -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco -Dindex.subsystem.name=solr6 -Dsolr.host=search -Dsolr.secureComms=secret -Dsolr.sharedSecret=alfresco-secret -Dshare.host=${PROXY_HOST} -Dshare.port=${PROXY_PORT} -Dshare.protocol=${PROXY_PROTOCOL} -Dalfresco.host=${PROXY_HOST} -Dalfresco.port=${PROXY_PORT} -Dalfresco.protocol=${PROXY_PROTOCOL} -Daos.baseUrlOverwrite=${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/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/ -Dalfresco-pdf-renderer.url=http://transform-core-aio:8090/ -Djodconverter.url=http://transform-core-aio:8090/ -Dimg.url=http://transform-core-aio:8090/ -Dtika.url=http://transform-core-aio:8090/ -Dtransform.misc.url=http://transform-core-aio:8090/ -Dcsrf.filter.enabled=false -Dcors.enabled=true -Dcors.allowed.origins=http://localhost:4200,http://localhost:8080,${PROXY_PROTOCOL}://${PROXY_HOST} -Dtransform.service.enabled=false -Dlocal.transform.service.enabled=true -Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm -Didentity-service.authentication.defaultAdministratorUserNames=admin.1 -Didentity-service.auth-server-url=http://identity:8080/auth -Dsystem.content.eagerOrphanCleanup=true -Dsystem.content.orphanProtectDays=0 -Djodconverter.enabled=false " depends_on: postgres-acs: condition: service_started activemq: condition: service_started identity: condition: service_healthy transform-core-aio: image: alfresco/alfresco-transform-core-aio:${ATE_AIO_TAG} share: image: alfresco/alfresco-share:${ACS_SHARE_TAG} environment: REPO_HOST: "platform" CSRF_FILTER_REFERER: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?/?.*" CSRF_FILTER_ORIGIN: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?" JAVA_OPTS: " -Dshare.host=${PROXY_HOST} -Dshare.port=${PROXY_PORT} -Dshare.protocol=${PROXY_PROTOCOL} -Dalfresco.host=${PROXY_HOST} -Dalfresco.port=${PROXY_PORT} -Dalfresco.protocol=${PROXY_PROTOCOL} -Daims.enabled=true -Daims.realm=alfresco -Daims.resource=acs-share -Daims.authServerUrl=${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth -Daims.sslRequired=none -Daims.publicClient=true -Daims.autodetectBearerOnly=true -Daims.alwaysRefreshToken=true -Daims.principalAttribute=preferred_username -Daims.enableBasicAuth=true " postgres-acs: image: postgres:${POSTGRES_TAG} environment: POSTGRES_PASSWORD: alfresco POSTGRES_USER: alfresco POSTGRES_DB: alfresco command: postgres -c max_connections=300 -c log_min_messages=LOG search: image: alfresco/alfresco-search-services:${ASIE_TAG} environment: SOLR_ALFRESCO_HOST: platform SOLR_SOLR_HOST: search SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive ALFRESCO_SECURE_COMMS: secret JAVA_TOOL_OPTIONS: " -Dalfresco.secureComms.secret=alfresco-secret " healthcheck: test: "curl -fsS http://localhost:8983/solr" activemq: image: alfresco/alfresco-activemq:${AAMQ_TAG} environment: ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m ACTIVEMQ_ADMIN_LOGIN: alfresco ACTIVEMQ_ADMIN_PASSWORD: alfresco identity: image: alfresco/alfresco-identity-service:${AIS_TAG} user: jboss environment: KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: admin KEYCLOAK_FRONTEND_URL: ${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json KEYCLOAK_STATISTICS: enabled networks: default: aliases: - "${IDENTITY_SERVICE_HOST}" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/auth/realms/alfresco"] interval: 10s timeout: 10s # Really long startup times on Windows retries: 18 volumes: - ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro proxy: build: ./nginx-ingress image: local/nginx-ingress:acs-share-aims ports: - 8080:8080 depends_on: - platform - share - identity