cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco, Docker, MS SQL, Data Store DFS, on docker swarm replicated. YML

JohanW
Champ on-the-rise
Champ on-the-rise

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
  - Load Balancer: http://alfresco.Development_LB.co.za Sticky Round Robin
      - ALFRESCO_HOST=alfresco.Development_LB.co.za
      - 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:
      test: ["CMD", "curl", "-f", "http://localhost:8080/alfresco"]
      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

 

 

4 REPLIES 4

JohanW
Champ on-the-rise
Champ on-the-rise

the you for the reply. any help with the YML file cleanup and finalization would be great. do I have to recreate the Alfresco image adding the MS SQL driver. or is it part of the official image?

 

Alfresco Community version doesn't work with MS SQL, only supports MariaDB/MySQL and Postgres.

Hyland Developer Evangelist

JohanW
Champ on-the-rise
Champ on-the-rise

Thank you Angelborroy. Where can I find the pricing for the repo only:  alfresco/alfresco-content-repository:latest or do I need to send there sales an email?

angelborroy
Community Manager Community Manager
Community Manager

No idea, tbh. Take a look at https://www.hyland.com/en/solutions/products/alfresco-platform and try finding your way.

Hyland Developer Evangelist