Compare commits
5 Commits
propagate/
...
propagate/
Author | SHA1 | Date | |
---|---|---|---|
|
f23cda3fd1 | ||
b4be2e251c | |||
44b6f26f4f | |||
b124cd027c | |||
919d842d61 |
4
.env
4
.env
@@ -1,6 +1,4 @@
|
|||||||
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
|
||||||
|
@@ -4,94 +4,27 @@
|
|||||||
version: "2"
|
version: "2"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
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:
|
|
||||||
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
|
|
||||||
- apsbin-volume:/var/lib/postgresql/data:rw
|
|
||||||
|
|
||||||
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
|
|
||||||
volumes:
|
|
||||||
- apsdb-volume:/var/lib/postgresql/data:rw
|
|
||||||
|
|
||||||
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
|
|
||||||
volumes:
|
|
||||||
- apsadmindb-volume:/var/lib/postgresql/data:rw
|
|
||||||
|
|
||||||
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
|
|
||||||
volumes:
|
|
||||||
- esindex-volume:/var/lib/postgresql/data:rw
|
|
||||||
|
|
||||||
|
identity:
|
||||||
|
image: alfresco/alfresco-identity-service:1.3
|
||||||
|
user: jboss
|
||||||
|
environment:
|
||||||
|
KEYCLOAK_USER: admin
|
||||||
|
KEYCLOAK_PASSWORD: admin
|
||||||
|
KEYCLOAK_HOSTNAME: auth.example.org
|
||||||
|
KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
|
||||||
|
KEYCLOAK_STATISTICS: enabled
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
aliases:
|
||||||
|
- "auth.example.org"
|
||||||
|
volumes:
|
||||||
|
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
build: ./nginx-ingress
|
build: ./nginx-ingress
|
||||||
image: local/nginx-ingress:acs
|
image: local/nginx-ingress:aims
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
depends_on:
|
depends_on:
|
||||||
- activiti-app
|
- identity
|
||||||
- activiti-admin
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
apsbin-volume:
|
|
||||||
driver: local
|
|
||||||
apsdb-volume:
|
|
||||||
driver: local
|
|
||||||
apsadmindb-volume:
|
|
||||||
driver: local
|
|
||||||
esindex-volume:
|
|
||||||
driver: local
|
|
||||||
|
47
keycloak-alfresco-realm.json
Normal file
47
keycloak-alfresco-realm.json
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"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" ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -1,11 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [[ $APS_APP_URL ]]; then
|
if [[ $AIMS_URL ]]; then
|
||||||
sed -i s%http:\/\/activiti-app:8080%"$APS_APP_URL"%g /etc/nginx/nginx.conf
|
sed -i s%http:\/\/identity:8080%"$AIMS_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
|
||||||
|
@@ -19,38 +19,22 @@ 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/activiti-app;
|
return 301 $scheme://$http_host/auth;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /activiti-app/ {
|
location /auth/ {
|
||||||
proxy_pass http://activiti-app:8080;
|
proxy_pass http://identity: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;
|
||||||
|
Reference in New Issue
Block a user