Compare commits

..
5 changed files with 112 additions and 127 deletions
+1
View File
@@ -4,3 +4,4 @@ ALFRESCO_LICENSE_DIR=~/alfresco/license
PROXY_PROTOCOL=http PROXY_PROTOCOL=http
PROXY_HOST=localhost PROXY_HOST=localhost
PROXY_PORT=8080 PROXY_PORT=8080
IDENTITY_SERVICE_BASEURL=http://auth.example.org:8080
+40 -110
View File
@@ -1,11 +1,11 @@
# Sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml # Sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml
# #
# Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose # Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose
version: "2.1" version: "2"
services: services:
platform: platform:
image: alfresco/alfresco-content-repository:6.2.2.3 image: alfresco/alfresco-content-repository-community:6.2.0-ga
mem_limit: 1700m mem_limit: 1700m
environment: environment:
JAVA_OPTS: " JAVA_OPTS: "
@@ -14,10 +14,9 @@ services:
-Ddb.password=alfresco -Ddb.password=alfresco
-Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco -Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco
-Dindex.subsystem.name=solr6 -Dindex.subsystem.name=solr6
-Dsolr.host=search1 -Dsolr.host=search
-Dsolr.port=8983 -Dsolr.port=8983
-Dsolr.secureComms=none -Dsolr.secureComms=none
-Dsolr.useDynamicShardRegistration=true
-Dshare.host=${PROXY_HOST} -Dshare.host=${PROXY_HOST}
-Dshare.port=${PROXY_PORT} -Dshare.port=${PROXY_PORT}
-Dshare.protocol=${PROXY_PROTOCOL} -Dshare.protocol=${PROXY_PROTOCOL}
@@ -36,18 +35,11 @@ services:
-Dcsrf.filter.enabled=false -Dcsrf.filter.enabled=false
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
-Dtransform.service.enabled=true -Dtransform.service.enabled=false
-Dlocal.transform.service.enabled=false
-Dtransform.service.url=http://transform-router:8095 -Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm
-Dsfs.url=http://shared-file-store:8099 -Didentity-service.authentication.defaultAdministratorUserNames=admin.1
-Dalfresco-pdf-renderer.url=http://transform-engine-aio:8090 -Didentity-service.auth-server-url=${IDENTITY_SERVICE_BASEURL}/auth
-Djodconverter.url=http://transform-engine-aio:8090
-Dimg.url=http://transform-engine-aio:8090
-Dtika.url=http://transform-engine-aio:8090
-Dtransform.misc.url=http://transform-engine-aio:8090
-Ddsync.service.uris=${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/sync
-Dsystem.content.eagerOrphanCleanup=true -Dsystem.content.eagerOrphanCleanup=true
-Dsystem.content.orphanProtectDays=0 -Dsystem.content.orphanProtectDays=0
@@ -56,36 +48,9 @@ services:
depends_on: depends_on:
- postgres-acs - postgres-acs
- activemq - activemq
- shared-file-store
volumes:
- "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro"
transform-router:
image: quay.io/alfresco/alfresco-transform-router:1.3.1
mem_limit: 128m
environment:
ACTIVEMQ_URL: "nio://activemq:61616"
CORE_AIO_URL : "http://transform-core-aio:8090"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
depends_on:
- activemq
- shared-file-store
transform-core-aio: transform-core-aio:
image: alfresco/alfresco-transform-core-aio:2.3.6 image: alfresco/alfresco-transform-core-aio:2.3.6
mem_limit: 1g
environment:
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
depends_on:
- activemq
- shared-file-store
shared-file-store:
image: alfresco/alfresco-shared-file-store:0.10.0
mem_limit: 256m
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
share: share:
image: alfresco/alfresco-share:6.2.2 image: alfresco/alfresco-share:6.2.2
@@ -101,99 +66,64 @@ services:
-Dalfresco.host=${PROXY_HOST} -Dalfresco.host=${PROXY_HOST}
-Dalfresco.port=${PROXY_PORT} -Dalfresco.port=${PROXY_PORT}
-Dalfresco.protocol=${PROXY_PROTOCOL} -Dalfresco.protocol=${PROXY_PROTOCOL}
-Daims.enabled=true
-Daims.realm=alfresco
-Daims.resource=acs-share
-Daims.authServerUrl=${IDENTITY_SERVICE_BASEURL}/auth
-Daims.sslRequired=none
-Daims.publicClient=true
-Daims.autodetectBearerOnly=true
-Daims.alwaysRefreshToken=true
-Daims.principalAttribute=preferred_username
-Daims.enableBasicAuth=true
" "
postgres-acs: postgres-acs:
image: postgres:11.7 image: postgres:11.7
mem_limit: 128m mem_limit: 512m
environment: environment:
- POSTGRES_PASSWORD=alfresco - POSTGRES_PASSWORD=alfresco
- POSTGRES_USER=alfresco - POSTGRES_USER=alfresco
- POSTGRES_DB=alfresco - POSTGRES_DB=alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG command: postgres -c max_connections=300 -c log_min_messages=LOG
search1: search:
image: docker.inteligr8.com/inteligr8/alfresco-search-services:2.0.1 image: alfresco/alfresco-search-services:2.0.1
mem_limit: 1g mem_limit: 2g
environment: environment:
- SOLR_ALFRESCO_HOST=platform - SOLR_ALFRESCO_HOST=platform
- SOLR_ALFRESCO_PORT=8080 - SOLR_ALFRESCO_PORT=8080
- SOLR_SOLR_HOST=search1 - SOLR_SOLR_HOST=search
- SOLR_SOLR_PORT=8983 - SOLR_SOLR_PORT=8983
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
- ALFRESCO_SECURE_COMMS=none - ALFRESCO_SECURE_COMMS=none
healthcheck:
test: "curl -fsS http://localhost:8983/solr"
search2:
image: docker.inteligr8.com/inteligr8/alfresco-search-services:2.0.1
mem_limit: 1g
environment:
- SOLR_ALFRESCO_HOST=platform
- SOLR_ALFRESCO_PORT=8080
- SOLR_SOLR_HOST=search2
- SOLR_SOLR_PORT=8983
- ALFRESCO_SECURE_COMMS=none
healthcheck:
test: "curl -fsS http://localhost:8983/solr"
search-shard-init:
image: cfmanteiga/alpine-bash-curl-jq
mem_limit: 64m
command: [ "bash", "-c", "
curl -s http://search1:8983/solr/admin/cores?action=newCore\\&core=alfresco\\&storeRef=workspace://SpacesStore\\&numShards=2\\&nodeInstance=1\\&numNodes=2\\&template=rerank\\&shardIds=0 &&
curl -s http://search2:8983/solr/admin/cores?action=newCore\\&core=alfresco\\&storeRef=workspace://SpacesStore\\&numShards=2\\&nodeInstance=2\\&numNodes=2\\&template=rerank\\&shardIds=1
"]
depends_on:
search1:
condition: service_healthy
search2:
condition: service_healthy
activemq: activemq:
image: alfresco/alfresco-activemq:5.15.8 image: alfresco/alfresco-activemq:5.15.8
mem_limit: 512m mem_limit: 256m
sync: identity:
image: quay.io/alfresco/service-sync:3.3.3.1 image: alfresco/alfresco-identity-service:1.3
mem_limit: 512m user: jboss
environment: environment:
JAVA_OPTS : " KEYCLOAK_USER: admin
-Dsql.db.driver=org.postgresql.Driver KEYCLOAK_PASSWORD: admin
-Dsql.db.url=jdbc:postgresql://postgres-acs:5432/alfresco KEYCLOAK_HOSTNAME: auth.example.org
-Dsql.db.username=alfresco KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
-Dsql.db.password=alfresco KEYCLOAK_STATISTICS: enabled
-Dmessaging.broker.host=activemq networks:
-Drepo.hostname=platform default:
-Drepo.port=8080 aliases:
-Ddw.server.applicationConnectors[0].type=http - "auth.example.org"
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 volumes:
" - ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
depends_on:
- postgres-acs
- activemq
digital-workspace:
image: quay.io/alfresco/alfresco-digital-workspace:2.0.0-adw
mem_limit: 128m
environment:
BASE_PATH: ./
APP_CONFIG_ECM_HOST: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}"
APP_BASE_SHARE_URL: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/#/preview/s"
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw image: local/nginx-ingress:acs-share-aims
mem_limit: 256m
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- platform - platform
- sync
- share - share
- digital-workspace - identity
volumes:
shared-file-store-volume:
driver_opts:
type: tmpfs
device: tmpfs
+62
View File
@@ -0,0 +1,62 @@
{
"realm": "alfresco",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": false,
"roles": {
"realm": [ {
"name": "user",
"description": "User privileges"
}, {
"name": "admin",
"description": "Administrator privileges"
} ]
},
"clients": [
{
"clientId": "alfresco",
"name": "Alfresco Products",
"enabled": true,
"alwaysDisplayInConsole": false,
"redirectUris": [ "*" ],
"standardFlowEnabled": true,
"implicitFlowEnabled": true,
"directAccessGrantsEnabled": false,
"publicClient": true,
"protocol": "openid-connect",
"attributes": {
"login_theme": "alfresco"
}
},
{
"clientId": "acs-share",
"name": "ACS Share",
"enabled": true,
"alwaysDisplayInConsole": false,
"redirectUris": [ "*" ],
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"publicClient": true,
"protocol": "openid-connect",
"attributes": {
"login_theme": "alfresco"
}
}
],
"requiredCredentials": [ "password" ],
"users": [
{
"username": "admin",
"email": "admin@app.activiti.com",
"enabled": true,
"credentials" : [
{
"type" : "password",
"value" : "admin"
}
],
"realmRoles": [ "user", "admin" ]
}
]
}
+2 -6
View File
@@ -4,16 +4,12 @@ if [[ $ACS_PLATFORM_URL ]]; then
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ACS_SYNC_URL ]]; then
sed -i s%http:\/\/sync:9090%"$ACS_SYNC_URL"%g /etc/nginx/nginx.conf
fi
if [[ $ACS_SHARE_URL ]]; then if [[ $ACS_SHARE_URL ]]; then
sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ADW_URL ]]; then if [[ $AIMS_URL ]]; then
sed -i s%http:\/\/digital-workspace:8080%"$ADW_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/identity:8080%"$AIMS_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ACCESS_LOG ]]; then if [[ $ACCESS_LOG ]]; then
+7 -11
View File
@@ -19,7 +19,10 @@ http {
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off; proxy_redirect off;
proxy_buffering off; # proxy_buffering off;
proxy_buffer_size 64k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -48,20 +51,13 @@ http {
# If using external proxy / load balancer (for initial redirect if no trailing slash) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;
} }
location /sync/ {
proxy_pass http://sync:9090/alfresco/;
}
location /share/ { location /share/ {
proxy_pass http://share:8080; proxy_pass http://share:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
} }
location /workspace/ { location /auth/ {
proxy_pass http://digital-workspace:8080/; proxy_pass http://identity:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;