Dear community,
I am looking a t running Alfresco document repository on a docker swarm replicated over 2 or maybe 3 nodes. for this I want them to use a single Microsoft SQL DB and I have mounted the DFS datastore as a mount on Linux to use as a volume for the Alfresco docker container to store the documents.
So to segregate the application layer from the data layers.
I want do do this to safe guard the data and be able too spin up as many application Afresco servers to help with load balancing.
Can I do this in Community addition? Do I need to buy a enterprise license?
Does anyone here possibly have an example.
This is my Current YML file:
version: "3.9"
services:
alfresco-repo:
image: alfresco/alfresco-content-repository:latest
environment:
# Database configuration
- DB_HOST=alfresco.Development_DB.co.za
- DB_NAME=alfresco_db
- DB_USERNAME=alfresco
- DB_PASSWORD=alfresco # Replace with your actual DB password
- DB_PORT=1433 # Ensure MS SQL is using this port
# Alfresco repository settings
- ALFRESCO_CROSS_CONTEXT=true # Enable cross-context settings for Share and Repo
# JVM memory settings
- JAVA_OPTS=-Xms512m -Xmx2g -XX:+UseG1GC -Dalfresco.home=/usr/local/tomcat/shared
volumes:
- /mnt/dfs-share:/usr/local/tomcat/shared # Shared DFS volume mounted on Oracle
- alfresco-repo-data:/usr/local/tomcat/data # Persistent volume for repository data
networks:
- alfresco-net
ports:
- "8080:8080" # Expose port 8080 for Alfresco repository
deploy:
replicas: 2
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == alfresco.Development1.co.za # Run on node1
- node.hostname == alfresco.Development2.co.za # Run on node2
healthcheck:
interval: 1m30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
networks:
alfresco-net:
driver: overlay # Overlay network for both nodes
volumes:
alfresco-repo-data:
driver: local