https://github.com/aborroy/alfresco-opensearch-mtls
Docker Compose deployment for ACS using mTLS communication with Alfresco Search Enterprise (OpenSearch)
https://github.com/aborroy/alfresco-opensearch-mtls
alfresco docker-compose opensearch
Last synced: about 2 months ago
JSON representation
Docker Compose deployment for ACS using mTLS communication with Alfresco Search Enterprise (OpenSearch)
- Host: GitHub
- URL: https://github.com/aborroy/alfresco-opensearch-mtls
- Owner: aborroy
- License: lgpl-3.0
- Created: 2024-05-17T10:50:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-17T11:35:42.000Z (about 2 years ago)
- Last Synced: 2025-04-09T01:44:08.161Z (about 1 year ago)
- Topics: alfresco, docker-compose, opensearch
- Language: Java
- Homepage:
- Size: 55.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alfresco Enterprise Docker Compose deployment using mTLS communication with OpenSearch
This project provides a *ready-to-use* Docker Compose to use **mTLS** communication between Alfresco Repository and Alfresco Search Enterprise (OpenSearch). Note that deploying the product in *production* environments would require additional configuration.
Docker Images from [quay.io](https://quay.io/organization/alfresco) are used, since this product is only available for Alfresco Enterprise customers. In addition, [Alfresco Nexus](https://nexus.alfresco.com) credentials may be required. If you are Enterprise Customer or Partner but you are still experimenting problems to download Docker Images or download artifacts from Nexus, contact [Alfresco Hyland Support](https://community.hyland.com) in order to get required credentials and permissions.
This project provides following folders:
* [docker](docker) folder contains Docker Compose template to deploy ACS Enterprise 23.2 using Search Enterprise (OpenSearch 2.14.0) with mTLS communication
* [tooling](tooling) folder contains an Alfresco Enterprise Repository patch and cryptographic tools to create required certificates and keystores
## Running Docker Compose
Run [docker](docker) compose
```sh
cd docker
docker compose up
```
Once the stack is up & ready (it may take 1-2 minutes), following endpoints are available:
* Alfresco Repository: http://localhost:8080/alfresco
* Alfresco Share: http://localhost:8080/share
* Alfresco ADW: http://localhost:8080/workspace
* OpenSearch Dashboards: https://localhost:5601
>> Use `admin`/`admin` credentials for every endpoint
## Create custom certificates and keystores
Default certificates and keystores are provided in Docker Compose:
* [docker/search/certs](docker/search/certs) includes the *self-signed* CA (`ca`) and certificates for OpenSearch Dashboards (`os-dashboards`) and OpenSearch Nodes (`os1` and `os2`)
* [docker/search/keystore](docker/search/keystore) includes a keystore and a trustore for Alfresco Elasticsearch Connector
* [docker/repo/keystore](docker/repo/keystore) includes a keystore and a trustore for Alfresco Repository
Sample scripts to create custom certificates and keystores are available in [tooling/crypto-utils](tooling/crypto-utils) folder:
```sh
cd tooling/crypto-utils
```
Creating required certificates for OpenSearch is provided by `generate-certs.sh` script. Once the certificates are ready, use `create-keystores.sh` to build keystore and truststore.
```sh
./generate-certs.sh
./create-keystores.sh
tree
.
├── alfresco.keystore
├── alfresco.truststore
├── certs
│ ├── ca
│ │ ├── admin.key
│ │ ├── admin.pem
│ │ ├── ca.key
│ │ ├── ca.pem
│ │ └── ca.srl
│ ├── os-dashboards
│ │ ├── os-dashboards.key
│ │ └── os-dashboards.pem
│ ├── os1
│ │ ├── os1.key
│ │ └── os1.pem
│ └── os2
│ ├── os2.key
│ └── os2.pem
├── create-keystores.sh
└── generate-certs.sh
```
>> It may be required to adapt the content of these scripts according to your specific requirements
## Alfresco Enterprise Repository path
Since Alfresco Enterprise 23.2.1 doesn't support mTLS communication with Search Enterprise by default, [tooling/mtls-search-enterprise](tooling/mtls-search-enterprise) project provides a Search Subsystem extension to add this feature. This option will be available in Alfresco Enterprise eventually, once the [JIRA issue](https://hyland.atlassian.net/browse/ACS-7965) has been solved.
The artifact is already available in [docker/repo](docker/repo) folder as `mtls-search-enterprise-0.8.0` and it's applied to Docker Compose deployment.