env-docker-alfresco/docker-compose.yml
2023-11-01 14:28:26 -04:00

152 lines
6.3 KiB
YAML

# 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