Compare commits
54
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf4879e466 | ||
|
|
3a6d3b1c1e | ||
|
|
944397b02c | ||
|
|
e0e190d987 | ||
|
|
fc8a854920 | ||
|
|
7e526e0e1e | ||
|
|
241a3e47ea | ||
|
|
17738d0a96 | ||
|
|
64708232c4 | ||
|
|
4e85d8118c | ||
|
|
1279c5aeba | ||
|
|
3c1796b0b4 | ||
|
|
dd967a17f2 | ||
|
|
27a818fd22 | ||
|
|
9e1a819e8b | ||
|
|
604ed69bb3 | ||
|
|
dee72646e6 | ||
|
|
2ed89fa708 | ||
|
|
bcdd5e0525 | ||
|
|
7590f2d390 | ||
|
|
2d91d8bc08 | ||
|
|
5faa546a0f | ||
|
|
4f191bcbea | ||
|
|
ba6a0f70ad | ||
|
|
8b7ec4654e | ||
|
|
6e0c055222 | ||
|
|
3d6aa1d4bc | ||
|
|
7d0eadd920 | ||
|
|
912249c388 | ||
|
|
83c123de08 | ||
|
|
9dd046ad51 | ||
|
|
20b41bbcb1 | ||
|
|
6edb220093 | ||
|
|
8ccf85d170 | ||
|
|
89348916a5 | ||
|
|
a2619fac7b | ||
|
|
70eb1fd7fb | ||
|
|
d7ed2df85e | ||
|
|
3a47c43a88 | ||
|
|
16aa444b19 | ||
|
|
7caee29b23 | ||
|
|
deb6bf058c | ||
|
|
8a0ccc61a5 | ||
|
|
695e3b3dc0 | ||
|
|
2b7755222b | ||
|
|
237a8abd62 | ||
|
|
f28c16c4fe | ||
|
|
ac18d6d637 | ||
|
|
817b062dfd | ||
|
|
d6b7a879b1 | ||
|
|
5e618569bc | ||
|
|
4e8453becd | ||
|
|
a42af25649 | ||
|
|
f1df9c3217 |
@@ -0,0 +1,9 @@
|
|||||||
|
ALFRESCO_DIR=~/alfresco
|
||||||
|
ALFRESCO_LICENSE_DIR=~/alfresco/license
|
||||||
|
|
||||||
|
PROXY_PROTOCOL=http
|
||||||
|
PROXY_HOST=localhost
|
||||||
|
PROXY_PORT=8080
|
||||||
|
|
||||||
|
APS_TAG=2.4.1
|
||||||
|
POSTGRES_TAG=13
|
||||||
|
|||||||
+64
-7
@@ -4,13 +4,70 @@ version: "3"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
directory:
|
activiti-app:
|
||||||
image: osixia/openldap:1.4.0
|
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
|
||||||
environment:
|
environment:
|
||||||
LDAP_ORGANISATION: "Example Organization"
|
ACTIVITI_DATASOURCE_USERNAME: alfresco
|
||||||
LDAP_DOMAIN: example.org
|
ACTIVITI_DATASOURCE_PASSWORD: alfresco
|
||||||
LDAP_ADMIN_PASSWORD: admin
|
ACTIVITI_DATASOURCE_DRIVER: org.postgresql.Driver
|
||||||
command: "--copy-service --loglevel=debug"
|
ACTIVITI_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
|
||||||
|
ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
|
||||||
|
JAVA_OPTS: "-Xms128m -Xmx256m"
|
||||||
|
depends_on:
|
||||||
|
- postgres-aps
|
||||||
volumes:
|
volumes:
|
||||||
- ./openldap-example.ldif:/container/service/slapd/assets/config/bootstrap/ldif/50-bootstrap.ldif:ro
|
- "$ALFRESCO_LICENSE_DIR/aps:/home/alfresco/.activiti/enterprise-license:ro"
|
||||||
|
- apsbin-volume:/var/lib/postgresql/data:rw
|
||||||
|
|
||||||
|
activiti-admin:
|
||||||
|
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
|
||||||
|
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: "-Xms64m -Xmx128m"
|
||||||
|
depends_on:
|
||||||
|
- postgres-aps-admin
|
||||||
|
- activiti-app
|
||||||
|
|
||||||
|
postgres-aps:
|
||||||
|
image: postgres:${POSTGRES_TAG}
|
||||||
|
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:${POSTGRES_TAG}
|
||||||
|
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
|
||||||
|
|
||||||
|
proxy:
|
||||||
|
build: ./nginx-ingress
|
||||||
|
image: local/nginx-ingress:aps
|
||||||
|
mem_limit: 256m
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
depends_on:
|
||||||
|
- activiti-app
|
||||||
|
- activiti-admin
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
apsbin-volume:
|
||||||
|
driver: local
|
||||||
|
apsdb-volume:
|
||||||
|
driver: local
|
||||||
|
apsadmindb-volume:
|
||||||
|
driver: local
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
FROM nginx:stable-alpine
|
||||||
|
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
COPY entrypoint.sh /
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
if [[ $ACCESS_LOG ]]; then
|
||||||
|
sed -i s%\#ENV_ACCESS_LOG%"access_log $ACCESS_LOG;"%g /etc/nginx/nginx.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
nginx -g "daemon off;"
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
worker_processes 1;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server {
|
||||||
|
listen *:8080;
|
||||||
|
|
||||||
|
client_max_body_size 0;
|
||||||
|
|
||||||
|
set $allowOriginSite *;
|
||||||
|
proxy_pass_request_headers on;
|
||||||
|
proxy_pass_header Set-Cookie;
|
||||||
|
|
||||||
|
# External settings, do not remove
|
||||||
|
#ENV_ACCESS_LOG
|
||||||
|
|
||||||
|
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
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 / {
|
||||||
|
return 301 $scheme://$http_host/activiti-app;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
version: 1
|
|
||||||
|
|
||||||
dn: uid=admin.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: Administrator
|
|
||||||
uid: admin.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: admin.1@example.org
|
|
||||||
|
|
||||||
dn: uid=manager.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: Manager
|
|
||||||
uid: manager.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: manager.1@example.org
|
|
||||||
|
|
||||||
dn: uid=user.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: User
|
|
||||||
uid: user.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: user.1@example.org
|
|
||||||
|
|
||||||
dn: uid=user.2,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #2
|
|
||||||
sn: User
|
|
||||||
uid: user.2
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: user.2@example.org
|
|
||||||
|
|
||||||
dn: cn=power-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: power-users
|
|
||||||
member: uid=manager.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=admins,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: admins
|
|
||||||
member: uid=admin.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=acs-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: acs-users
|
|
||||||
member: cn=power-users,dc=example,dc=org
|
|
||||||
member: uid=user.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=aps-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: aps-users
|
|
||||||
member: cn=power-users,dc=example,dc=org
|
|
||||||
member: uid=user.2,dc=example,dc=org
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user