Compare commits

..

17 Commits

5 changed files with 65 additions and 75 deletions

7
.env
View File

@@ -1,4 +1,9 @@
ALFRESCO_DIR=~/alfresco
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
APS_TAG=2.4.1
POSTGRES_TAG=13

View File

@@ -1,30 +1,42 @@
# Sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml # Originally 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 version: "3"
version: "2"
services: services:
identity: activiti-app:
image: alfresco/alfresco-identity-service:1.3 image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
user: jboss
environment: environment:
KEYCLOAK_USER: admin ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
KEYCLOAK_PASSWORD: admin depends_on:
KEYCLOAK_HOSTNAME: auth.example.org - postgres-aps
KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
KEYCLOAK_STATISTICS: enabled
networks:
default:
aliases:
- "auth.example.org"
volumes: volumes:
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro - "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
activiti-admin:
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
environment:
ACTIVITI_ADMIN_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps-admin:5432/activiti-admin?characterEncoding=UTF-8'
ACTIVITI_ADMIN_REST_APP_HOST: http://activiti-app
depends_on:
- postgres-aps-admin
- activiti-app
postgres-aps:
image: postgres:${POSTGRES_TAG}
environment:
POSTGRES_DB: activiti
postgres-aps-admin:
image: postgres:${POSTGRES_TAG}
environment:
POSTGRES_DB: activiti-admin
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:aims image: local/nginx-ingress:aps
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- identity - activiti-app
- activiti-admin

View File

@@ -1,47 +0,0 @@
{
"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"
}
}
],
"requiredCredentials": [ "password" ],
"users": [
{
"username": "admin",
"email": "admin@app.activiti.com",
"enabled": true,
"credentials" : [
{
"type" : "password",
"value" : "admin"
}
],
"realmRoles": [ "user", "admin" ]
}
]
}

View File

@@ -1,7 +1,11 @@
#!/bin/sh #!/bin/sh
if [[ $AIMS_URL ]]; then if [[ $APS_APP_URL ]]; then
sed -i s%http:\/\/identity:8080%"$AIMS_URL"%g /etc/nginx/nginx.conf 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,22 +19,38 @@ 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;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_header Set-Cookie; proxy_pass_header Set-Cookie;
# Protect access to SOLR APIs
location ~ ^(/.*/service/api/solr/.*)$ {return 403;}
location ~ ^(/.*/s/api/solr/.*)$ {return 403;}
location ~ ^(/.*/wcservice/api/solr/.*)$ {return 403;}
location ~ ^(/.*/wcs/api/solr/.*)$ {return 403;}
location ~ ^(/.*/proxy/alfresco/api/solr/.*)$ {return 403 ;}
location ~ ^(/.*/-default-/proxy/alfresco/api/.*)$ {return 403;}
# Protect access to Prometheus endpoint
location ~ ^(/.*/s/prometheus)$ {return 403;}
location / { location / {
return 301 $scheme://$http_host/auth; return 301 $scheme://$http_host/activiti-app;
} }
location /auth/ { location /activiti-app/ {
proxy_pass http://identity:8080; 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) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;