Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf4879e466 | ||
|
|
3a6d3b1c1e | ||
|
|
944397b02c | ||
|
|
e0e190d987 | ||
|
|
fc8a854920 | ||
|
|
7e526e0e1e | ||
|
|
241a3e47ea | ||
|
|
c2a9679ede | ||
|
|
17738d0a96 | ||
|
|
64708232c4 | ||
|
|
4e85d8118c | ||
|
|
1279c5aeba | ||
|
|
3c1796b0b4 | ||
|
|
dd967a17f2 | ||
|
|
27a818fd22 | ||
|
|
9e1a819e8b | ||
|
|
10e7f81163 | ||
|
|
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
|
||||
|
||||
+66
-10
@@ -1,17 +1,73 @@
|
||||
# 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: "2"
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
|
||||
directory:
|
||||
image: osixia/openldap:1.4.0
|
||||
activiti-app:
|
||||
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
|
||||
environment:
|
||||
LDAP_ORGANISATION: "Example Organization"
|
||||
LDAP_DOMAIN: example.org
|
||||
LDAP_ADMIN_PASSWORD: admin
|
||||
command: "--copy-service --loglevel=debug"
|
||||
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'
|
||||
JAVA_OPTS: "-Xms128m -Xmx256m"
|
||||
depends_on:
|
||||
- postgres-aps
|
||||
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