Repository navigation
Docker and Environment Configuration
The APS SDK automates the creation and orchestration of a multi-container Docker cluster mirroring an enterprise Alfresco Process Services installation.
All services communicate over the internal bridge network aps-network:
| Container Name | Role | Host Port | Internal Port | Healthcheck |
|---|---|---|---|---|
aps-current-project |
Activiti App (Tomcat 9/10) | 8080 |
8080 |
curl -f http://localhost:8080/activiti-app |
| Remote Debugging (JDWP) | 5005 |
5005 |
N/A | |
postgre |
PostgreSQL Database | 5432 |
5432 |
pg_isready -d activiti -U alfresco |
elasticsearch |
Search & Analytics Index | 9200 |
9200 |
curl -f http://localhost:9200/_cat/health |
aps-admin (optional)
|
Activiti Admin Console | 8081 |
8081 |
curl -f http://localhost:8081/activiti-admin |
-
Activiti App UI:
http://localhost:8080/activiti-app(admin@app.activiti.com/admin) -
Activiti Admin UI:
http://localhost:8081/activiti-admin(admin/admin) -
PostgreSQL:
localhost:5432, DB:activiti, User:alfresco, Password:alfresco -
Elasticsearch:
http://localhost:9200
To ensure consistent testing and prevent accidental data loss across restarts, three external named Docker volumes persist all data:
-
aps-db-volume: Persists PostgreSQL database records (/var/lib/postgresql/data). -
aps-contentstore-volume: Persists document attachments, form content, and binary files (/act_data). -
aps-es-volume: Persists Elasticsearch indices (/usr/share/elasticsearch/data).
To completely reset and purge all state:
./run.sh purge
# or
mvn clean -Ppurge-volumesThe APS SDK features native support for Apple Silicon chips (M1/M2/M3/M4).
The Docker module maintains paired Dockerfiles for each APS version:
-
Dockerfile-${aps.version}(x86_64) -
Dockerfile-${aps.version}-arm64(ARM64)
The build dynamically detects architecture and uses the correct Dockerfile, ensuring native ARM64 performance without emulation overhead.
The APS container has JVM debugging enabled by default on port 5005 using JDWP:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005
-
IntelliJ IDEA: Run > Edit Configurations > Add New Configuration > Remote JVM Debug (Host:
localhost, Port:5005). -
Eclipse: Run > Debug Configurations > Remote Java Application (Host:
localhost, Port:5005). -
VS Code: Attach to remote process with
"type": "java","request": "attach","port": 5005.
Set breakpoints in your service tasks, listeners, or REST controllers in aps-extensions-jar to step through execution live!
In activiti-app-overlay-docker/pom.xml, comment the CATALINA_OPTS and debug port mapping:
<run>
<env>
<!-- <CATALINA_OPTS>${catalina.opts.debug}</CATALINA_OPTS> -->
</env>
<ports>
<port>${docker.tomcat.port.external}:${docker.tomcat.port.internal}</port>
<!-- <port>${aps.debug.port}:${aps.debug.port}</port> -->
</ports>To override APS application properties (e.g., mail server, authentication provider, LDAP):
- Edit or add property files in
activiti-app-overlay-docker/src/main/docker/properties/activiti-app.properties.
To adjust Log4j 2 verbosity:
- Edit
activiti-app-overlay-war/src/main/webapp/WEB-INF/classes/log4j2.properties(orlog4j2-dev.properties).