Compare commits

..
Author SHA1 Message Date
brian.long 5ff54e221c Merge branch 'aps-persist' into aps-search-persist 2023-10-26 14:20:45 -04:00
brian.long de1b8a0bcc Merge branch 'aps-search' into aps-search-persist 2023-10-26 14:20:24 -04:00
brian.long afa845b893 Merge branch 'aps' into aps-persist 2023-10-26 14:20:07 -04:00
brian.long 73424b9bd9 Merge branch 'aps' into aps-search 2023-10-26 14:17:06 -04:00
brian.long 76f18e1a60 Merge branch 'aps-base' into aps 2023-10-26 14:14:33 -04:00
brian.long 6aa3731165 removed mem_limit from proxy 2023-10-26 14:14:26 -04:00
brian.long 82864c1955 added license file README 2023-10-26 08:52:41 -04:00
brian.long 32255b7f48 added elasticsearch persistence 2023-10-25 19:31:15 -04:00
brian.long 607590c1dd Merge branch 'aps-search' into aps-search-persist 2023-10-25 19:30:12 -04:00
brian.long bf4879e466 Merge branch 'aps-persist-base' into aps-persist 2023-10-25 18:50:49 -04:00
brian.long 3a6d3b1c1e Merge branch 'aps-base' into aps-persist-base 2023-10-25 18:49:43 -04:00
brian.long 944397b02c removed aps-search 2023-10-25 18:48:58 -04:00
brian.long 7fedfed6cd Merge branch 'aps-search-base' into aps-search 2023-10-25 18:46:54 -04:00
brian.long eb8df1a86f fixed aps-search dependency 2023-10-25 18:46:40 -04:00
brian.long e30247ead5 Merge branch 'aps-search-base' into aps-search 2023-10-25 18:45:34 -04:00
brian.long 8901d10f82 Merge branch 'aps-base' into aps 2023-10-25 18:39:33 -04:00
brian.long 3fee42cd28 elasticsearch v.7.17.13 2023-10-25 18:37:26 -04:00
brian.long 25e6137de9 Revert "removed elasticsearch"
This reverts commit fc8a854920.
2023-10-25 18:34:37 -04:00
brian.long e0e190d987 APS v2.4.1 2023-10-25 18:33:38 -04:00
brian.long fc8a854920 removed elasticsearch 2023-10-25 18:32:39 -04:00
brian.long 7e526e0e1e Merge branch 'proxy' into aps-base 2023-10-25 18:29:28 -04:00
brian.long 241a3e47ea Merge branch 'base' into proxy 2023-10-25 18:07:00 -04:00
brian.long c2a9679ede update comment 2023-10-25 18:05:39 -04:00
brian.long 17738d0a96 Merge branch 'aps' into aps-persist 2022-11-01 17:17:46 -04:00
brian.long 64708232c4 Merge branch 'aps-persist-base' into aps-persist 2022-11-01 17:17:08 -04:00
brian.long 4e85d8118c fixed APS license location 2022-11-01 17:14:49 -04:00
brian.long 1279c5aeba Merge branch 'aps-base' into aps 2022-11-01 17:09:22 -04:00
brian.long 3c1796b0b4 Merge branch 'aps-base' into aps-persist-base 2022-11-01 17:06:51 -04:00
brian.long dd967a17f2 parameterized APS versions 2022-11-01 17:06:07 -04:00
brian.long 27a818fd22 Merge branch 'proxy' into aps-base 2022-11-01 17:00:56 -04:00
brian.long 9e1a819e8b Merge branch 'base' into proxy 2022-11-01 14:48:11 -04:00
brian.long 10e7f81163 advancing to docker v3 2022-11-01 14:46:58 -04:00
brian.long 604ed69bb3 Merge branch 'aps' into aps-persist 2021-07-30 16:33:24 -04:00
brian.long dee72646e6 updated APS memory limit mins 2021-07-30 16:32:57 -04:00
brian.long 2ed89fa708 Merge branch 'aps-persist-base' into aps-persist 2021-04-19 08:27:38 -04:00
brian.long bcdd5e0525 Merge branch 'aps-base' into aps-persist-base 2021-04-19 08:26:57 -04:00
brian.long 7590f2d390 Merge branch 'aps-base' into aps 2021-04-19 08:26:27 -04:00
brian.long 2d91d8bc08 renamed proxy from acs to aps 2021-04-19 08:26:13 -04:00
brian 5faa546a0f Merge branch 'aps-persist-base' into aps-persist 2021-04-02 09:13:39 -04:00
brian 4f191bcbea Merge branch 'aps' into aps-persist 2021-04-02 09:13:38 -04:00
brian ba6a0f70ad Merge branch 'aps-base' into aps-persist-base 2021-04-02 09:13:20 -04:00
brian 8b7ec4654e Merge branch 'aps-base' into aps 2021-04-02 09:13:16 -04:00
brian.long 6e0c055222 Merge branch 'proxy' into aps-base 2021-04-02 09:06:48 -04:00
brian.long 3d6aa1d4bc Merge branch 'base' into proxy 2021-04-02 08:41:45 -04:00
brian 7d0eadd920 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 16:19:52 -05:00
brian.long 912249c388 Merge branch 'aps-base' into aps-persist-base 2021-01-13 16:19:26 -05:00
brian 83c123de08 Merge branch 'aps' into aps-persist 2021-01-13 16:16:33 -05:00
brian 9dd046ad51 Merge branch 'aps-base' into aps 2021-01-13 16:16:27 -05:00
brian.long 20b41bbcb1 corrected misspelling 2021-01-13 15:39:02 -05:00
brian.long 6edb220093 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 15:38:37 -05:00
brian.long 8ccf85d170 Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:37:41 -05:00
brian.long 89348916a5 Merge branch 'aps-base' into aps 2021-01-13 15:37:13 -05:00
brian.long a2619fac7b fixed license directory var 2021-01-13 15:37:06 -05:00
brian.long 70eb1fd7fb Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:35:37 -05:00
brian.long d7ed2df85e moved store 2021-01-13 15:35:30 -05:00
brian.long 3a47c43a88 Merge branch 'aps-base' into aps 2021-01-13 15:32:16 -05:00
brian.long 16aa444b19 removed excess file mapping 2021-01-13 15:32:03 -05:00
brian.long 7caee29b23 added persistence volumes 2021-01-13 15:30:34 -05:00
brian.long deb6bf058c Merge branch 'aps-base' into aps 2021-01-13 15:23:44 -05:00
brian.long 8a0ccc61a5 backported some stuff from aps to aps-base 2021-01-13 15:22:30 -05:00
brian.long 695e3b3dc0 fixed after testing 2021-01-13 15:20:03 -05:00
brian.long 2b7755222b added versions and config to APS 2021-01-13 14:42:41 -05:00
brian.long 237a8abd62 fixed proxy depends_on 2021-01-13 14:33:11 -05:00
brian.long f28c16c4fe initial aps base 2021-01-13 14:32:12 -05:00
brian.long ac18d6d637 fixed host/protocol URL rewrites 2021-01-06 12:21:21 -05:00
brian.long 817b062dfd merged platform/share into single proxy 2020-12-26 13:54:31 -05:00
brian.long d6b7a879b1 added .env configurable platform/share context 2020-12-26 11:15:44 -05:00
brian.long 5e618569bc Merge branch 'base' into proxy.base 2020-12-26 11:11:16 -05:00
brian.long 4e8453becd removed port from reverse proxy; allows it to work when port changes 2020-12-25 23:08:07 -05:00
brian.long a42af25649 added port for localhost 2020-12-17 16:19:34 -05:00
brian.long f1df9c3217 initial nginx dynamic docker image config 2020-12-17 16:03:33 -05:00
7 changed files with 182 additions and 90 deletions
+10
View File
@@ -0,0 +1,10 @@
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
ELASTICSEARCH_TAG=7.17.13
+7
View File
@@ -3,3 +3,10 @@
This Git Repository intends to represent environments in Docker Compose. All environments are effectively a derivative of other environments. The original environment is the environment represented by the `base` branch. All derivative environments are represented by other branches. Those branches are named in the format `{core}.{parent}`.
## Licensing
This version of Alfresco requires licensing.
### APS
APS requires a license file for it to work. For licensing to work, you must place your license file in the following directory relative to the user home directory that runs the Docker Compose command: `alfresco/license/aps`. The filename must be `activiti.lic`. You can use symbolic linking if desired.
+83 -10
View File
@@ -1,17 +1,90 @@
# 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'
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: "-Xms128m -Xmx256m"
depends_on:
- postgres-aps
- search-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
search-aps:
image: elasticsearch:${ELASTICSEARCH_TAG}
environment:
discovery.type: single-node
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esindex-volume:/var/lib/postgresql/data:rw
proxy:
build: ./nginx-ingress
image: local/nginx-ingress:aps
ports:
- 8080:8080
depends_on:
- activiti-app
- activiti-admin
volumes:
apsbin-volume:
driver: local
apsdb-volume:
driver: local
apsadmindb-volume:
driver: local
esindex-volume:
driver: local
+8
View File
@@ -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" ]
+15
View File
@@ -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;"
+59
View File
@@ -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;
}
}
}
-80
View File
@@ -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