Compare commits

..

13 Commits

5 changed files with 104 additions and 181 deletions

1
.env
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

View File

@@ -5,7 +5,7 @@ version: "2"
services: services:
platform: platform:
image: quay.io/alfresco/alfresco-governance-repository-enterprise:V3.4-latest image: alfresco/alfresco-content-repository-community:6.2.0-ga
mem_limit: 1700m mem_limit: 1700m
environment: environment:
JAVA_OPTS: " JAVA_OPTS: "
@@ -35,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
@@ -55,39 +48,12 @@ 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
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:
image: alfresco/alfresco-transform-core-aio:2.3.6
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
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
transform-core-aio: transform-core-aio:
image: alfresco/alfresco-transform-core-aio:2.3.6 image: alfresco/alfresco-transform-core-aio:2.3.6
share: share:
image: quay.io/alfresco/alfresco-governance-share-enterprise:V3.4-latest image: alfresco/alfresco-share:6.2.2
mem_limit: 512m mem_limit: 512m
environment: environment:
REPO_HOST: "platform" REPO_HOST: "platform"
@@ -100,6 +66,16 @@ 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:
@@ -126,114 +102,28 @@ services:
image: alfresco/alfresco-activemq:5.15.8 image: alfresco/alfresco-activemq:5.15.8
mem_limit: 256m 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
"
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"
activiti-app:
image: alfresco/process-services:1.11.1.1
mem_limit: 512m
environment:
ACTIVITI_DATASOURCE_USERNAME: alfresco
ACTIVITI_DATASOURCE_PASSWORD: alfresco
ACTIVITI_DATASOURCE_DRIVER: org.postgresql.Driver
ACTIVITI_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
ACTIVITI_ES_SERVER_TYPE: rest
ACTIVITI_ES_REST_CLIENT_ADDRESS: search-aps
ACTIVITI_ES_REST_CLIENT_PORT: 9200
ACTIVITI_ES_REST_CLIENT_SCHEMA: http
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
depends_on:
- postgres-aps
volumes: volumes:
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro" - ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
activiti-admin:
image: alfresco/process-services-admin:1.11.1.1
mem_limit: 256m
environment:
ACTIVITI_ADMIN_DATASOURCE_USERNAME: alfresco
ACTIVITI_ADMIN_DATASOURCE_PASSWORD: alfresco
ACTIVITI_ADMIN_DATASOURCE_DRIVER: org.postgresql.Driver
ACTIVITI_ADMIN_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
ACTIVITI_ADMIN_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps-admin:5432/activiti-admin?characterEncoding=UTF-8'
ACTIVITI_ADMIN_REST_APP_HOST: http://activiti-app
ACTIVITI_ADMIN_REST_APP_PORT: 8080
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
depends_on:
- postgres-aps-admin
- activiti-app
postgres-aps:
image: postgres:11.6
mem_limit: 256m
environment:
POSTGRES_DB: activiti
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG
postgres-aps-admin:
image: postgres:11.6
mem_limit: 128m
environment:
POSTGRES_DB: activiti-admin
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=50 -c log_min_messages=LOG
search-aps:
image: elasticsearch:7.6.0
mem_limit: 512m
environment:
discovery.type: single-node
ES_JAVA_OPTS: "-Xms128m -Xmx256m"
ulimits:
memlock:
soft: -1
hard: -1
depends_on:
- activiti-app
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw-aps image: local/nginx-ingress:acs-share-aims
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- platform - platform
- sync
- share - share
- digital-workspace - identity
- activiti-app
- activiti-admin
volumes:
shared-file-store-volume:
driver_opts:
type: tmpfs
device: tmpfs

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" ]
}
]
}

View File

@@ -4,24 +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
if [[ $APS_APP_URL ]]; then
sed -i s%http:\/\/activiti-app:8080%"$APS_APP_URL"%g /etc/nginx/nginx.conf
fi
if [[ $APS_ADMIN_URL ]]; then
sed -i s%http:\/\/activiti-admin:8080%"$APS_ADMIN_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ACCESS_LOG ]]; then if [[ $ACCESS_LOG ]]; then

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,34 +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 /activiti-app/ {
proxy_pass http://activiti-app:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
location /activiti-admin/ {
proxy_pass http://activiti-admin:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
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;