<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose) in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136830#M36731</link>
    <description>&lt;P&gt;For anyone want to do same thing, here my steps:&lt;/P&gt;&lt;P&gt;- Prepare a Ubuntu latest server with docker installed.&lt;BR /&gt;- Create /opt/alfresco-community structure like this:&lt;/P&gt;&lt;PRE&gt;drwxr-xr-x 3 amq      amq      4.0K Mar  7 12:09 activemq
drwxr-xr-x 3 solr     solr     4.0K Mar  7 12:09 alfresco-search-services
drwxr-xr-x 2 root     root     4.0K Mar 12 06:40 datasamples
-rw-r--r-- 1 root     root      616 Mar  7 12:09 docker-compose-initdb.yml
-rw-r--r-- 1 root     root     6.3K Mar 12 21:01 docker-compose.yml
-rw-r--r-- 1 root     root      525 Mar 12 05:52 my.cnf
-rw-r--r-- 1 root     root     2.4M Mar  7 12:09 mysql-connector-java-8.0.26.jar
drwxr-xr-x 7 lxd      root     4.0K Mar 13 09:52 mysqldata
drwxr-xr-x 2 root     root     4.0K Mar  7 12:09 nginx
drwxr-xr-x 4 alfresco alfresco 4.0K Mar 13 10:01 tomcat&lt;/PRE&gt;&lt;P&gt;- Create users alfresco (uid 33000) , amq (uid 33031) , solr (uid 33007) , and assign permissions to the respective folders&lt;/P&gt;&lt;PRE&gt;useradd alfresco -u 33000 -M -s /bin/false
useradd amq -u 33031 -M -s /bin/false
useradd solr -u 33007 -M -s /bin/false
chown -R alfresco:alfresco tomcat
chown -R solr:solr alfresco-search-services
chown -R amq:amq activemq&lt;/PRE&gt;&lt;P&gt;Dump database "alfresco" from old server and put it into datasamples as sql file , run "docker compose -f docker-compose-initdb.yml up -d" and wait until mysql container import alfresco.sql successfully.&lt;BR /&gt;You can monitor the import process with "docker logs mysqlecm"&lt;BR /&gt;You can customize mysql instance with my.cnf or not.&lt;/P&gt;&lt;PRE&gt;version: "3"
services:

  mysqlecm:
    image: mysql:8.0.26
    container_name: mysqlecm
    restart: always
    deploy:
      resources:
        limits:
          memory: 12g
        reservations:
          memory: 4g
    environment:
      - TZ=Asia/Ho_Chi_Minh
      - MYSQL_ROOT_PASSWORD=*******
      - MYSQL_PASSWORD=*******
      - MYSQL_USER=alfresco
      - MYSQL_DATABASE=alfresco
#    ports:
#      - "3306:3306"
    security_opt:
      - seccomp:unconfined
    volumes:
      - ./mysqldata:/var/lib/mysql
      - ./datasamples:/docker-entrypoint-initdb.d
      - ./my.cnf:/etc/mysql/my.cnf&lt;/PRE&gt;&lt;P&gt;Run "docker compose -f docker-compose-initdb.yml down" to stop mysql instance after it finished import alfresco.sql&lt;BR /&gt;Run "docker compose -f docker-compose.yml up -d" to start new Alfresco instance&lt;/P&gt;&lt;PRE&gt;version: "3"
services:

  alfresco:
    image: docker.io/alfresco/alfresco-content-repository-community:7.1.0
    container_name: alfresco
    restart: always
    deploy:
      resources:
        limits:
          memory: 8g
        reservations:
          memory: 4g
    environment:
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dencryption.keystore.type=JCEKS
        -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
        -Dencryption.keyAlgorithm=DESede
        -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
        -Dmetadata-keystore.password=mp6yc0UD9e
        -Dmetadata-keystore.aliases=metadata
        -Dmetadata-keystore.metadata.password=oKIWzVdEdA
        -Dmetadata-keystore.metadata.algorithm=DESede
      JAVA_OPTS: &amp;gt;-
        -Ddb.driver=com.mysql.cj.jdbc.Driver -Ddb.username=alfresco
        -Ddb.password=******** -Ddb.url=jdbc:mysql://mysqlecm:3306/alfresco
        -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000
        -Dsolr.secureComms=none -Dsolr.sharedSecret=none
        -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6
        -Dshare.host=127.0.0.1 -Dshare.port=8080 -Dalfresco.host=localhost
        -Dalfresco.port=8080 -Dcsrf.filter.enabled=false
        -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
        -Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&amp;amp;jms.useCompression=true"
        -Ddeployment.method=DOCKER_COMPOSE
        -DlocalTransform.core-aio.url=http://transform-core-aio:8090/
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
      TZ: Asia/Ho_Chi_Minh
    volumes:
      - ./mysql-connector-java-8.0.26.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.26.jar
      - ./tomcat/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
      - ./tomcat/alf_data:/usr/local/tomcat/alf_data
      - ./tomcat/logs:/usr/local/tomcat/logs

  transform-core-aio:
    image: alfresco/alfresco-transform-core-aio:2.5.3
    container_name: transform-core-aio
    restart: always
    deploy:
      resources:
        limits:
          memory: 4g
        reservations:
          memory: 4g
    environment:
      TZ: Asia/Ho_Chi_Minh
      JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
    ports:
      - "8090:8090"

  share:
    image: docker.io/alfresco/alfresco-share:7.1.0.1
    container_name: share
    restart: always
    deploy:
      resources:
        limits:
          memory: 3g
        reservations:
          memory: 1g
    environment:
      REPO_HOST: "alfresco"
      REPO_PORT: "8080"
      JAVA_OPTS: &amp;gt;-
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
        -Dalfresco.host=localhost -Dalfresco.port=8080
        -Dalfresco.context=alfresco -Dalfresco.protocol=http
      TZ: Asia/Ho_Chi_Minh

  mysqlecm:
    image: mysql:8.0.26
    container_name: mysqlecm
    restart: always
    deploy:
      resources:
        limits:
          memory: 6g
        reservations:
          memory: 4g
    environment:
      - TZ=Asia/Ho_Chi_Minh
#      - MYSQL_ROOT_PASSWORD=*********
#      - MYSQL_PASSWORD=*********
#      - MYSQL_USER=alfresco
#      - MYSQL_DATABASE=alfresco
    ports:
      - "3306:3306"
    security_opt:
      - seccomp:unconfined
    volumes:
      - ./mysqldata:/var/lib/mysql
      - ./my.cnf:/etc/mysql/my.cnf
      - ./datasamples:/backup

  solr6:
    image: alfresco/alfresco-search-services:2.0.2
    container_name: solr6
    restart: always
    deploy:
      resources:
        limits:
          memory: 2g
        reservations:
          memory: 2g
    environment:
      TZ: Asia/Ho_Chi_Minh
      # Solr needs to know how to register itself with Alfresco
      SOLR_ALFRESCO_HOST: "alfresco"
      SOLR_ALFRESCO_PORT: "8080"
      # Alfresco needs to know how to call solr
      SOLR_SOLR_HOST: "solr6"
      SOLR_SOLR_PORT: "8983"
      # Create the default alfresco and archive cores
      SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
      # HTTPS or SECRET
      ALFRESCO_SECURE_COMMS: "none"
      # SHARED SECRET VALUE
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dalfresco.secureComms.secret=none
    ports:
      - "8083:8983" # Browser port
    volumes:
      - ./alfresco-search-services/data:/opt/alfresco-search-services/data
      - ./alfresco-search-services/shared.properties:/opt/alfresco-search-services/solrhome/conf/shared.properties

  activemq:
    image: alfresco/alfresco-activemq:5.16.1
    container_name: activemq
    restart: always
    deploy:
      resources:
        limits:
          memory: 1g
        reservations:
          memory: 1g
    ports:
      - "8161:8161" # Web Console
      - "5672:5672" # AMQP
      - "61616:61616" # OpenWire
      - "61613:61613" # STOMP
    volumes:
      - ./activemq/data:/opt/activemq/data
    environment:
      TZ: Asia/Ho_Chi_Minh

  content-app:
    image: alfresco/alfresco-content-app:2.7.0
    container_name: content-app
    restart: always
    deploy:
      resources:
        limits:
          memory: 128m
        reservations:
          memory: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      APP_BASE_SHARE_URL: "http://localhost:8080/aca/#/preview/s"

  proxy:
    image: alfresco/alfresco-acs-nginx:3.4.2
    container_name: proxy
    restart: always
    deploy:
      resources:
        limits:
          memory: 128m
        reservations:
          memory: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      DISABLE_PROMETHEUS: "true"
      DISABLE_SYNCSERVICE: "true"
      DISABLE_ADW: "true"
      DISABLE_CONTROL_CENTER: "true"
      ENABLE_CONTENT_APP: "true"
    depends_on:
      - alfresco
      - content-app
    ports:
      - "80:80"
    links:
      - content-app
      - alfresco
      - share
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf&lt;/PRE&gt;&lt;P&gt;You can change memory limit you want to assign to each container.&lt;BR /&gt;You can change time zone of container by editing environment "TZ"&lt;BR /&gt;You can customize alfresco with ./tomcat/alfresco-global.properties or not&lt;BR /&gt;You can customize alfresco-search-services with ./alfresco-search-services/shared.properties or not&lt;BR /&gt;You can customize proxy with ./nginx/nginx.conf or not , for ex : port 80 instead of 8080&lt;/P&gt;&lt;PRE&gt;events {
    worker_connections  1024;
}

http {
    server {
        listen *:80;

        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            $host:$server_port;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        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/.*/api/solr/.*)$ {return 403 ;}
        location ~ ^(/.*/-default-/proxy/.*/api/.*)$ {return 403;}

        # Prometheus settings, do not remove
        #PROMETHEUS_LOCATION

        location / {
            proxy_pass http://alfresco:8080;
        }

        location /alfresco/ {
            proxy_pass http://alfresco:8080;

            # If using external proxy / load balancer (for initial redirect if no trailing slash)
            absolute_redirect off;
        }

        # Share settings, do not remove
        location /share/ {
            proxy_pass http://share:8080;
            absolute_redirect off;
        }

        # Control Center settings, do not remove
        #CONTROL_CENTER_LOCATION

        # ADW settings, do not remove
        #ADW_LOCATION

        # ACA settings, do not remove
        location /content-app/ {
            proxy_pass http://content-app:8080/;
            absolute_redirect off;
        }

        # Sync service settings, do not remove
        #SYNCSERVICE_LOCATION
    }
}&lt;/PRE&gt;&lt;P&gt;If you don't want to customize any thing, just comment out specific lines at "volumes" part&lt;BR /&gt;You should wait for alfresco-search-services to index full your documents again. "&lt;A href="http://your_server_ip:8083/solr/#/alfresco" target="_blank" rel="nofollow noopener noreferrer"&gt;http://your_server_ip:8083/solr/#/alfresco&lt;/A&gt;"&lt;BR /&gt;Some commands may help you:&lt;BR /&gt;- docker compose -f filename.yml up -d --&amp;gt; start containers&lt;BR /&gt;- docker compose -f filename.yml down --&amp;gt; stop containers&lt;BR /&gt;- docker ps -a --&amp;gt; view all containers status&lt;BR /&gt;- docker logs container_name --&amp;gt; view logs output of a container&lt;/P&gt;</description>
    <pubDate>Mon, 13 Mar 2023 03:53:32 GMT</pubDate>
    <dc:creator>jack_chuong</dc:creator>
    <dc:date>2023-03-13T03:53:32Z</dc:date>
    <item>
      <title>Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.1.0 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136822#M36723</link>
      <description>&lt;P&gt;Hi all,&lt;BR /&gt;My current environment :&lt;/P&gt;&lt;DIV class=""&gt;Alfresco Share v5.2.f (r137983-b22, Aikau 1.0.101.10, Spring Surf 5.2.f, Spring WebScripts 6.15, Freemarker 2.3.20-alfresco-patched, Rhino 1.7R4-alfresco-patched, Yui 2.9.0-alfresco-20141223)&lt;/DIV&gt;&lt;DIV class=""&gt;Alfresco Community v5.2.0 (re21f2be5-b22) schema 10057&lt;BR /&gt;Installed from alfresco-community-installer-201707-linux-x64.bin on server Centos 7.3 , MySQL 5.7 at /opt/alfresco-community folder&lt;/DIV&gt;&lt;DIV class=""&gt;This is my /opt/alfresco-community/tomcat/shared/classes/alfresco-global.properties&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;###############################
## Common Alfresco Properties #
###############################

dir.root=/opt/alfresco-community/alf_data
# my contentstore is mounted from a NAS nfs shared folder to /opt/contentstore
dir.contentstore=/opt/contentstore

alfresco.context=alfresco
alfresco.host=ecm.mydomain.com
alfresco.port=80
alfresco.protocol=http

share.context=share
share.host=ecm.mydomain.com
share.port=80
share.protocol=http

### database connection properties ###
db.driver=com.mysql.jdbc.Driver
db.username=alfresco
db.password=******
db.name=alfresco
db.url=jdbc:mysql://localhost:3306/alfresco?useUnicode=yes&amp;amp;characterEncoding=UTF-8&amp;amp;useSSL=false
# Note: your database must also be able to accept at least this many connections.  Please see your database documentation for instructions on how to configure this.
db.pool.max=500
db.pool.validate.query=SELECT 1

# The server mode. Set value here
# UNKNOWN | TEST | BACKUP | PRODUCTION
system.serverMode=UNKNOWN

### FTP Server Configuration ###
ftp.port=21

### RMI registry port for JMX ###
alfresco.rmi.services.port=50500

### External executable locations ###
ooo.exe=/opt/alfresco-community/libreoffice/program/soffice.bin
ooo.enabled=true
ooo.port=8100
img.root=/opt/alfresco-community/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
alfresco-pdf-renderer.root=/opt/alfresco-community/common/alfresco-pdf-renderer
alfresco-pdf-renderer.exe=${alfresco-pdf-renderer.root}/alfresco-pdf-renderer

jodconverter.enabled=false
jodconverter.officeHome=/opt/alfresco-community/libreoffice
jodconverter.portNumbers=8100

### Active Directory
authentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad

ntlm.authentication.sso.enabled=false

ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=%s@mydomain.com
ldap.authentication.java.naming.provider.url=ldap://192.168.7.103:389
ldap.authentication.defaultAdministratorUserNames=Administrator
ldap.synchronization.java.naming.security.principal=user@mydomain.com
ldap.synchronization.java.naming.security.credentials=******
ldap.synchronization.active=true

#user
ldap.synchronization.userSearchBase=OU\=Central Management,DC\=mydomain,DC\=com
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail

#group
ldap.synchronization.groupSearchBase=OU\=Groups,OU\=Central Management,DC\=mydomain,DC\=com

# Sync
synchronization.synchronizeChangesOnly=false
synchronization.allowDeletions=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.syncOnStartup=true
synchronization.import.cron=0 */30 * * * ?
ldap.synchronization.enableProgressEstimation=true

### Initial admin password ###
alfresco_user_store.adminpassword=******

### E-mail site invitation setting ###
notification.email.siteinvite=false

### License location ###
dir.license.external=/opt/alfresco-community

### Solr indexing ###
#solr6
#dir.keystore=${dir.root}/keystore
solr.host=localhost
index.subsystem.name=solr6
solr.secureComms=none
solr.port=8983

### Allow extended ResultSet processing
security.anyDenyDenies=false
### SMTP Exchange
mail.host=smtp.office365.com
mail.port=587
mail.username=user@mydomain.com
mail.password=******
mail.from.default=ecm@mydomain.com
mail.from.enabled=true
mail.encoding=UTF-8
mail.header=
mail.protocol=smtps
mail.smtp.starttls.enable=true
mail.smtp.auth=true
mail.smtp.timeout=30000
# Additional Java Mail properties for SMTPS protocol
mail.smtps.auth=true
mail.smtps.starttls.enable=true
### E-mail site invitation setting ###
notification.email.siteinvite=true

## SMTP SEND EMAIL TEST ###
mail.testmessage.send=true
mail.testmessage.to=jack@mydomain.com
#mail.testmessage.to=ecm@mydomain.com
mail.testmessage.subject=Outbound SMTP
mail.testmessage.text=The Outbound SMTP email subsystem is working

### Smart Folders Config Properties ###
smart.folders.enabled=false

### Remote JMX (Default: disabled) ###
alfresco.jmx.connector.enabled=false&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;I'm planning to upgrade to 7.1.0 and migrate it to run with docker-compose and MySQL 8.0.26 as below&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;Stage 1 : Install a new 7.1.0 instance with docker-compose on an Ubuntu-latest in folder /opt/alfresco-community&lt;/DIV&gt;&lt;DIV class=""&gt;/opt/alfresco-community/docker-compose.yml&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;version: "3"
services:

  alfresco:
    image: docker.io/alfresco/alfresco-content-repository-community:7.1.0
    container_name: alfresco
    mem_limit: 2g
    environment:
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dencryption.keystore.type=JCEKS
        -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
        -Dencryption.keyAlgorithm=DESede
        -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
        -Dmetadata-keystore.password=mp6yc0UD9e
        -Dmetadata-keystore.aliases=metadata
        -Dmetadata-keystore.metadata.password=oKIWzVdEdA
        -Dmetadata-keystore.metadata.algorithm=DESede
      JAVA_OPTS: &amp;gt;-
        -Ddb.driver=com.mysql.cj.jdbc.Driver -Ddb.username=alfresco
        -Ddb.password=****** -Ddb.url=jdbc:mysql://mysql:3306/alfresco
        -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000
        -Dsolr.secureComms=secret -Dsolr.sharedSecret=secret
        -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6
        -Dshare.host=127.0.0.1 -Dshare.port=8080 -Dalfresco.host=localhost
        -Dalfresco.port=8080 -Dcsrf.filter.enabled=false
        -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
        -Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&amp;amp;jms.useCompression=true"
        -Ddeployment.method=DOCKER_COMPOSE
        -DlocalTransform.core-aio.url=http://transform-core-aio:8090/
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
      TZ: Asia/Ho_Chi_Minh
    volumes:
      - ./mysql-connector-java-8.0.26.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.26.jar&lt;BR /&gt;      - ./tomcat/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
      - ./tomcat/alf_data:/usr/local/tomcat/alf_data
      - ./tomcat/logs:/usr/local/tomcat/logs

  transform-core-aio:
    image: alfresco/alfresco-transform-core-aio:2.5.3
    container_name: transform-core-aio
    mem_limit: 1536m
    environment:
      TZ: Asia/Ho_Chi_Minh
      JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
    ports:
      - "8090:8090"

  share:
    image: docker.io/alfresco/alfresco-share:7.1.0.1
    container_name: share
    mem_limit: 2g
    environment:
      REPO_HOST: "alfresco"
      REPO_PORT: "8080"
      JAVA_OPTS: &amp;gt;-
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
        -Dalfresco.host=localhost -Dalfresco.port=8080
        -Dalfresco.context=alfresco -Dalfresco.protocol=http
      TZ: Asia/Ho_Chi_Minh

  mysql:
    image: mysql:8.0.26
    container_name: mysql
    mem_limit: 512m
    environment:
      - TZ=Asia/Ho_Chi_Minh
      - MYSQL_ROOT_PASSWORD=******
      - MYSQL_PASSWORD=******
      - MYSQL_USER=alfresco
      - MYSQL_DATABASE=alfresco
    ports:
      - "3306:3306"
    volumes:
      - ./mysqldata:/var/lib/mysql

  solr6:
    image: alfresco/alfresco-search-services:2.0.2
    container_name: solr6
    mem_limit: 2g
    environment:
      TZ: Asia/Ho_Chi_Minh
      # Solr needs to know how to register itself with Alfresco
      SOLR_ALFRESCO_HOST: "alfresco"
      SOLR_ALFRESCO_PORT: "8080"
      # Alfresco needs to know how to call solr
      SOLR_SOLR_HOST: "solr6"
      SOLR_SOLR_PORT: "8983"
      # Create the default alfresco and archive cores
      SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
      # HTTPS or SECRET
      ALFRESCO_SECURE_COMMS: "secret"
      # SHARED SECRET VALUE
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dalfresco.secureComms.secret=secret
    ports:
      - "8083:8983" # Browser port
    volumes:
      - ./alfresco-search-services/data:/opt/alfresco-search-services/data

  activemq:
    image: alfresco/alfresco-activemq:5.16.1
    container_name: activemq
    mem_limit: 1g
    ports:
      - "8161:8161" # Web Console
      - "5672:5672" # AMQP
      - "61616:61616" # OpenWire
      - "61613:61613" # STOMP
    volumes:
      - ./activemq/data:/opt/activemq/data
    environment:
      TZ: Asia/Ho_Chi_Minh

  content-app:
    image: alfresco/alfresco-content-app:2.7.0
    container_name: content-app
    mem_limit: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      APP_BASE_SHARE_URL: "http://localhost:8080/aca/#/preview/s"

  proxy:
    image: alfresco/alfresco-acs-nginx:3.4.2
    container_name: proxy
    mem_limit: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      DISABLE_PROMETHEUS: "true"
      DISABLE_SYNCSERVICE: "true"
      DISABLE_ADW: "true"
      DISABLE_CONTROL_CENTER: "true"
      ENABLE_CONTENT_APP: "true"
    depends_on:
      - alfresco
      - content-app
    ports:
      - "80:80"
    links:
      - content-app
      - alfresco
      - share
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf&lt;/PRE&gt;tomcat/alfresco-global.properties&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;# The server mode. Set value here
# UNKNOWN | TEST | BACKUP | PRODUCTION
system.serverMode=PRODUCTION

### Active Directory
authentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad

ntlm.authentication.sso.enabled=false

ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=%s@mydomain.com
ldap.authentication.java.naming.provider.url=ldap://192.168.7.103:389
ldap.authentication.defaultAdministratorUserNames=Administrator
ldap.synchronization.java.naming.security.principal=user@mydomain.com
ldap.synchronization.java.naming.security.credentials=******
ldap.synchronization.active=true

#user
ldap.synchronization.userSearchBase=OU\=Central Management,DC\=mydomain,DC\=com
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail

#group
ldap.synchronization.groupSearchBase=OU\=Groups,OU\=Central Management,DC\=mydomain,DC\=com

# Sync
synchronization.synchronizeChangesOnly=false
synchronization.allowDeletions=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.syncOnStartup=true
synchronization.import.cron=0 */30 * * * ?
ldap.synchronization.enableProgressEstimation=true

### Initial admin password ###
alfresco_user_store.adminpassword=******

### E-mail site invitation setting ###
notification.email.siteinvite=false

### SMTP Exchange
mail.host=smtp.office365.com
mail.port=587
mail.username=user@mydomain.com
mail.password=******
mail.from.default=ecm@mydomain.com
mail.from.enabled=true
mail.encoding=UTF-8
mail.header=
mail.protocol=smtps
mail.smtp.starttls.enable=true
mail.smtp.auth=true
mail.smtp.timeout=30000
# Additional Java Mail properties for SMTPS protocol
mail.smtps.auth=true
mail.smtps.starttls.enable=true
### E-mail site invitation setting ###
notification.email.siteinvite=true

## SMTP SEND EMAIL TEST ###
mail.testmessage.send=true
mail.testmessage.to=jack@mydomain.com
#mail.testmessage.to=ecm@mydomain.com
mail.testmessage.subject=Outbound SMTP
mail.testmessage.text=The Outbound SMTP email subsystem is working&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 08 Feb 2023 10:51:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136822#M36723</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-02-08T10:51:33Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136823#M36724</link>
      <description>&lt;DIV class=""&gt;It works fine except "send test email to jack@mydomain.com" , here log :&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;2023-02-08 16:48:25,647 ERROR [org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean] [main] Error auto-starting subsystem
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mail' defined in URL [jar:file:/usr/local/tomcat/webapps/alfresco/WEB-INF/lib/al
fresco-repository-11.140.jar!/alfresco/subsystems/email/OutboundSMTP/outboundSMTP-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error
.AlfrescoRuntimeException: 01080018 Failed to send email to:jack@mydomain.com
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
        at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ApplicationContextState.start(ChildApplicationContextFactory.java:824)
        at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098)
        at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.onApplicationEvent(AbstractPropertyBackedBean.java:637)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:232)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:197)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:217)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
        at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
        at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:129)
        at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:149)
        at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:139)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:696)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1185)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1933)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1095)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: org.alfresco.error.AlfrescoRuntimeException: 01080018 Failed to send email to:jack@mydomain.com
        at org.alfresco.repo.action.executer.MailActionExecuter.sendEmail(MailActionExecuter.java:1080)
        at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(MailActionExecuter.java:524)
        at org.alfresco.repo.action.executer.MailActionExecuter$1.doWork(MailActionExecuter.java:456)
        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:602)
        at org.alfresco.repo.action.executer.MailActionExecuter.init(MailActionExecuter.java:446)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$invokeCustomInitMethod$7(AbstractAutowireCapableBeanFactory.java:1902)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1901)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1854)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Stage 2 :&lt;/DIV&gt;&lt;DIV class=""&gt;- Stop ACS services on old Centos 7 server&lt;/DIV&gt;&lt;DIV class=""&gt;- Dump full db "alfresco" from old Centos 7 server&lt;/DIV&gt;&lt;DIV class=""&gt;- Import db "alfresco" to new Ubuntu-latest server container "mysql"&lt;/DIV&gt;&lt;DIV class=""&gt;- Mount NAS nfs shared folder to&amp;nbsp;new Ubuntu-latest server at /opt/alfresco-community/tomcat/alf_data/contentstore&lt;/DIV&gt;&lt;DIV class=""&gt;- Restart all ACS container.&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;If someone has done the same thing , please give me some advice, thank you very much.&lt;/DIV&gt;</description>
      <pubDate>Wed, 08 Feb 2023 10:52:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136823#M36724</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-02-08T10:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136824#M36725</link>
      <description>&lt;P&gt;There is the short plan: &lt;A href="https://hub.alfresco.com/t5/alfresco-content-services-forum/migrate-from-alfresco-community-5-2-to-alfresco-community-7-x/m-p/315123#M28442" target="_self" rel="nofollow noopener noreferrer"&gt;Migrate from Alfresco Community 5.2 to Alfresco Community 7.x&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Several things more:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;It is always better to "play" with copy of data, then restoring production from backup.&lt;/LI&gt;&lt;LI&gt;On stap 4 change the owner of alf_data to 33000 recursively. Make solr folder owner to 33007 and activemq/data to 33031. Database persistant volume, you know, must be 999.&lt;/LI&gt;&lt;LI&gt;Remove depricated properties or values from alresco-global.properties. Check it one by one.&lt;/LI&gt;&lt;LI&gt;Add 'restart: always' to all compose services.&lt;/LI&gt;&lt;LI&gt;I suspect mem_limit will not work with version 3 docker compose yaml.&lt;/LI&gt;&lt;LI&gt;Do not expose ports, which you do not plan use outside compose.&lt;/LI&gt;&lt;LI&gt;e.t.c.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Good luck,&lt;/P&gt;&lt;P&gt;Serge&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2023 10:51:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136824#M36725</guid>
      <dc:creator>fedorow</dc:creator>
      <dc:date>2023-02-11T10:51:50Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136825#M36726</link>
      <description>&lt;P&gt;Hi &lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/6711"&gt;@fedorow&lt;/A&gt; , thanks for you useful advice.&lt;/P&gt;&lt;P&gt;I have changed the owner of alf_data to 33000 recursively , made solr folder owner to 33007 and activemq/data to 33031 already.&lt;BR /&gt;But I don't understand why Database persistant volume, must be 999 (lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false) ?&lt;/P&gt;&lt;P&gt;My contentstore is mounted from a NAS nfs shared folder to /opt/contentstore (old server) , owner is root (I start Alfresco services as root)&lt;/P&gt;&lt;P&gt;On my new server , I also start Alfresco container as root so I would mount NAS nfs shared folder to new Ubuntu-latest server at /opt/alfresco-community/tomcat/alf_data/contentstore as root ?&lt;/P&gt;</description>
      <pubDate>Mon, 13 Feb 2023 03:41:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136825#M36726</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-02-13T03:41:50Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136826#M36727</link>
      <description>&lt;P&gt;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/67014"&gt;@jack_chuong&lt;/A&gt;&amp;nbsp;I'm not exactly understand your questions.&lt;/P&gt;&lt;P&gt;The default user of Alfresco container is 33000. It is does not metter who run container, Alfresco will access to storage as 33000. You can change it by creating custom image and change container user to root. In this case the owner of the folder could be any user.&lt;/P&gt;&lt;P&gt;The owner of /var/lib/mysql folder inside the container is 'mysql' user. The id of this user is 999. I suspect, you do not have 'mysql' user on your host, so use '999' id instead 'mysql' name. The same thing about the alfresco container. Host do not know the names of container users, byt use the id's. 33000 is the id of container user with name 'alfresco'.&lt;/P&gt;&lt;P&gt;Ctreate persistant volyme to whole /usr/local/tomcat/alf_data folder, not only /usr/local/tomcat/alf_data/contentstore. You have had right map in the docker-compose.yml.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Feb 2023 10:27:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136826#M36727</guid>
      <dc:creator>fedorow</dc:creator>
      <dc:date>2023-02-13T10:27:29Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136827#M36728</link>
      <description>&lt;P&gt;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/6711"&gt;@fedorow&lt;/A&gt;&lt;/P&gt;&lt;P&gt;You're right.&lt;/P&gt;&lt;P&gt;I created user alfresco with uid 33000 , amq with uid 33031 , solr with uid 33007 on new Ubuntu server for good view&lt;/P&gt;&lt;PRE&gt;/etc/passwd&lt;BR /&gt;lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false&lt;BR /&gt;alfresco:x:33000:33000::/home/alfresco:/bin/false
amq:x:33031:33031::/home/amq:/bin/false
solr:x:33007:33007::/home/solr:/bin/false&lt;BR /&gt;&lt;BR /&gt;/opt/alfresco-community# ls -lh&lt;BR /&gt;total 2.4M&lt;BR /&gt;drwxr-xr-x 3 amq amq 4.0K Feb 8 16:13 activemq&lt;BR /&gt;drwxr-xr-x 3 solr solr 4.0K Feb 8 16:01 alfresco-search-services&lt;BR /&gt;-rw-r--r-- 1 root root 5.6K Feb 13 10:32 docker-compose.yml&lt;BR /&gt;-rw-r--r-- 1 root root 2.4M Jun 8 2021 mysql-connector-java-8.0.26.jar&lt;BR /&gt;drwxr-xr-x 7 lxd root 4.0K Feb 13 10:31 mysqldata&lt;BR /&gt;drwxr-xr-x 2 root root 4.0K Feb 8 10:56 nginx&lt;BR /&gt;drwxr-xr-x 4 alfresco alfresco 4.0K Feb 8 17:45 tomcat&lt;/PRE&gt;&lt;P&gt;There is a lxd uid 999 user already exists in my new Ubuntu server , so I leave it there.&lt;/P&gt;&lt;P&gt;I have concern about alf_data folder , my contentstore is mounted from a NAS nfs shared folder to /opt/contentstore&lt;/P&gt;&lt;PRE&gt;/etc/fstab
192.168.7.107:/ECM_Contentstore   15T  3.1T   12T  21% /opt/contentstore

df -h
192.168.7.107:/ECM_Contentstore   15T  3.1T   12T  21% /opt/contentstore&lt;/PRE&gt;&lt;P&gt;So map in the docker-compose.yml would be like:&lt;/P&gt;&lt;PRE&gt;    volumes:
      - ./tomcat/alf_data:/usr/local/tomcat/alf_data
      - /opt/contentstore:/usr/local/tomcat/alf_data/contentstore
      - ./tomcat/logs:/usr/local/tomcat/logs&lt;/PRE&gt;&lt;P&gt;My alf_data/contentstore.deleted from old server is 226M and I heard that it doesn't matter.&lt;BR /&gt;Do I have to move contentstore.deleted from old server to new server and map/put it to ./tomcat/alf_data , or just let Alfresco recreate it ?&lt;/P&gt;</description>
      <pubDate>Tue, 14 Feb 2023 02:47:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136827#M36728</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-02-14T02:47:17Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136828#M36729</link>
      <description>&lt;P&gt;Yes, the Alfresco will recreate contentsotre.deleted.&lt;/P&gt;&lt;P&gt;I never tryed to make volume as subfolder into the other volume. Make shure it will work in docker environment. For example docker do not work with symboilc links in volumes.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Feb 2023 20:52:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136828#M36729</guid>
      <dc:creator>fedorow</dc:creator>
      <dc:date>2023-02-14T20:52:34Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136829#M36730</link>
      <description>&lt;P&gt;It seems work fine&lt;/P&gt;&lt;PRE&gt;df -h
192.168.7.107:/ECM_Contentstore   15T  3.6T   12T  24% /opt/alfresco-community/tomcat/alf_data/contentstore

# docker-compose.yml
    volumes:
      - ./mysql-connector-java-8.0.26.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.26.jar
      - ./tomcat/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
      - ./tomcat/alf_data:/usr/local/tomcat/alf_data
      - ./tomcat/logs:/usr/local/tomcat/logs&lt;/PRE&gt;&lt;P&gt;I can login to alfresco and see documents in repository, however, alfresco search service (solr6) doesn't work, I cannot search documents. I get some error about keystore so I decide to simplify communication between alfresco and solr6.&lt;/P&gt;&lt;PRE&gt;  alfresco:
    environment:
      JAVA_OPTS: &amp;gt;-
        -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000
        -Dsolr.secureComms=none -Dsolr.sharedSecret=none
        -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6

  solr6:
    environment:
      TZ: Asia/Ho_Chi_Minh
      # Solr needs to know how to register itself with Alfresco
      SOLR_ALFRESCO_HOST: "alfresco"
      SOLR_ALFRESCO_PORT: "8080"
      # Alfresco needs to know how to call solr
      SOLR_SOLR_HOST: "solr6"
      SOLR_SOLR_PORT: "8983"
      # Create the default alfresco and archive cores
      SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
      # HTTPS or SECRET
      ALFRESCO_SECURE_COMMS: "none"
      # SHARED SECRET VALUE
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dalfresco.secureComms.secret=none&lt;/PRE&gt;&lt;P&gt;I can see that solr6 is indexing documents , will wait it finish (500 millions documents) and search documents again.&lt;BR /&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.PNG" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="image"&gt;&lt;img src="https://connect.hyland.com/t5/image/serverpage/image-id/1636i20491CD0BCDD9C68/image-size/large?v=v2&amp;amp;px=999" role="button" title="image" alt="image" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Feb 2023 09:46:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136829#M36730</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-02-15T09:46:40Z</dc:date>
    </item>
    <item>
      <title>Re: Plan upgrade Alfresco community 5.2.0 (install with .bin) to 7.10 (docker-compose)</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136830#M36731</link>
      <description>&lt;P&gt;For anyone want to do same thing, here my steps:&lt;/P&gt;&lt;P&gt;- Prepare a Ubuntu latest server with docker installed.&lt;BR /&gt;- Create /opt/alfresco-community structure like this:&lt;/P&gt;&lt;PRE&gt;drwxr-xr-x 3 amq      amq      4.0K Mar  7 12:09 activemq
drwxr-xr-x 3 solr     solr     4.0K Mar  7 12:09 alfresco-search-services
drwxr-xr-x 2 root     root     4.0K Mar 12 06:40 datasamples
-rw-r--r-- 1 root     root      616 Mar  7 12:09 docker-compose-initdb.yml
-rw-r--r-- 1 root     root     6.3K Mar 12 21:01 docker-compose.yml
-rw-r--r-- 1 root     root      525 Mar 12 05:52 my.cnf
-rw-r--r-- 1 root     root     2.4M Mar  7 12:09 mysql-connector-java-8.0.26.jar
drwxr-xr-x 7 lxd      root     4.0K Mar 13 09:52 mysqldata
drwxr-xr-x 2 root     root     4.0K Mar  7 12:09 nginx
drwxr-xr-x 4 alfresco alfresco 4.0K Mar 13 10:01 tomcat&lt;/PRE&gt;&lt;P&gt;- Create users alfresco (uid 33000) , amq (uid 33031) , solr (uid 33007) , and assign permissions to the respective folders&lt;/P&gt;&lt;PRE&gt;useradd alfresco -u 33000 -M -s /bin/false
useradd amq -u 33031 -M -s /bin/false
useradd solr -u 33007 -M -s /bin/false
chown -R alfresco:alfresco tomcat
chown -R solr:solr alfresco-search-services
chown -R amq:amq activemq&lt;/PRE&gt;&lt;P&gt;Dump database "alfresco" from old server and put it into datasamples as sql file , run "docker compose -f docker-compose-initdb.yml up -d" and wait until mysql container import alfresco.sql successfully.&lt;BR /&gt;You can monitor the import process with "docker logs mysqlecm"&lt;BR /&gt;You can customize mysql instance with my.cnf or not.&lt;/P&gt;&lt;PRE&gt;version: "3"
services:

  mysqlecm:
    image: mysql:8.0.26
    container_name: mysqlecm
    restart: always
    deploy:
      resources:
        limits:
          memory: 12g
        reservations:
          memory: 4g
    environment:
      - TZ=Asia/Ho_Chi_Minh
      - MYSQL_ROOT_PASSWORD=*******
      - MYSQL_PASSWORD=*******
      - MYSQL_USER=alfresco
      - MYSQL_DATABASE=alfresco
#    ports:
#      - "3306:3306"
    security_opt:
      - seccomp:unconfined
    volumes:
      - ./mysqldata:/var/lib/mysql
      - ./datasamples:/docker-entrypoint-initdb.d
      - ./my.cnf:/etc/mysql/my.cnf&lt;/PRE&gt;&lt;P&gt;Run "docker compose -f docker-compose-initdb.yml down" to stop mysql instance after it finished import alfresco.sql&lt;BR /&gt;Run "docker compose -f docker-compose.yml up -d" to start new Alfresco instance&lt;/P&gt;&lt;PRE&gt;version: "3"
services:

  alfresco:
    image: docker.io/alfresco/alfresco-content-repository-community:7.1.0
    container_name: alfresco
    restart: always
    deploy:
      resources:
        limits:
          memory: 8g
        reservations:
          memory: 4g
    environment:
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dencryption.keystore.type=JCEKS
        -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
        -Dencryption.keyAlgorithm=DESede
        -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
        -Dmetadata-keystore.password=mp6yc0UD9e
        -Dmetadata-keystore.aliases=metadata
        -Dmetadata-keystore.metadata.password=oKIWzVdEdA
        -Dmetadata-keystore.metadata.algorithm=DESede
      JAVA_OPTS: &amp;gt;-
        -Ddb.driver=com.mysql.cj.jdbc.Driver -Ddb.username=alfresco
        -Ddb.password=******** -Ddb.url=jdbc:mysql://mysqlecm:3306/alfresco
        -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000
        -Dsolr.secureComms=none -Dsolr.sharedSecret=none
        -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6
        -Dshare.host=127.0.0.1 -Dshare.port=8080 -Dalfresco.host=localhost
        -Dalfresco.port=8080 -Dcsrf.filter.enabled=false
        -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
        -Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&amp;amp;jms.useCompression=true"
        -Ddeployment.method=DOCKER_COMPOSE
        -DlocalTransform.core-aio.url=http://transform-core-aio:8090/
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
      TZ: Asia/Ho_Chi_Minh
    volumes:
      - ./mysql-connector-java-8.0.26.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.26.jar
      - ./tomcat/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
      - ./tomcat/alf_data:/usr/local/tomcat/alf_data
      - ./tomcat/logs:/usr/local/tomcat/logs

  transform-core-aio:
    image: alfresco/alfresco-transform-core-aio:2.5.3
    container_name: transform-core-aio
    restart: always
    deploy:
      resources:
        limits:
          memory: 4g
        reservations:
          memory: 4g
    environment:
      TZ: Asia/Ho_Chi_Minh
      JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
    ports:
      - "8090:8090"

  share:
    image: docker.io/alfresco/alfresco-share:7.1.0.1
    container_name: share
    restart: always
    deploy:
      resources:
        limits:
          memory: 3g
        reservations:
          memory: 1g
    environment:
      REPO_HOST: "alfresco"
      REPO_PORT: "8080"
      JAVA_OPTS: &amp;gt;-
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
        -Dalfresco.host=localhost -Dalfresco.port=8080
        -Dalfresco.context=alfresco -Dalfresco.protocol=http
      TZ: Asia/Ho_Chi_Minh

  mysqlecm:
    image: mysql:8.0.26
    container_name: mysqlecm
    restart: always
    deploy:
      resources:
        limits:
          memory: 6g
        reservations:
          memory: 4g
    environment:
      - TZ=Asia/Ho_Chi_Minh
#      - MYSQL_ROOT_PASSWORD=*********
#      - MYSQL_PASSWORD=*********
#      - MYSQL_USER=alfresco
#      - MYSQL_DATABASE=alfresco
    ports:
      - "3306:3306"
    security_opt:
      - seccomp:unconfined
    volumes:
      - ./mysqldata:/var/lib/mysql
      - ./my.cnf:/etc/mysql/my.cnf
      - ./datasamples:/backup

  solr6:
    image: alfresco/alfresco-search-services:2.0.2
    container_name: solr6
    restart: always
    deploy:
      resources:
        limits:
          memory: 2g
        reservations:
          memory: 2g
    environment:
      TZ: Asia/Ho_Chi_Minh
      # Solr needs to know how to register itself with Alfresco
      SOLR_ALFRESCO_HOST: "alfresco"
      SOLR_ALFRESCO_PORT: "8080"
      # Alfresco needs to know how to call solr
      SOLR_SOLR_HOST: "solr6"
      SOLR_SOLR_PORT: "8983"
      # Create the default alfresco and archive cores
      SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
      # HTTPS or SECRET
      ALFRESCO_SECURE_COMMS: "none"
      # SHARED SECRET VALUE
      JAVA_TOOL_OPTIONS: &amp;gt;-
        -Dalfresco.secureComms.secret=none
    ports:
      - "8083:8983" # Browser port
    volumes:
      - ./alfresco-search-services/data:/opt/alfresco-search-services/data
      - ./alfresco-search-services/shared.properties:/opt/alfresco-search-services/solrhome/conf/shared.properties

  activemq:
    image: alfresco/alfresco-activemq:5.16.1
    container_name: activemq
    restart: always
    deploy:
      resources:
        limits:
          memory: 1g
        reservations:
          memory: 1g
    ports:
      - "8161:8161" # Web Console
      - "5672:5672" # AMQP
      - "61616:61616" # OpenWire
      - "61613:61613" # STOMP
    volumes:
      - ./activemq/data:/opt/activemq/data
    environment:
      TZ: Asia/Ho_Chi_Minh

  content-app:
    image: alfresco/alfresco-content-app:2.7.0
    container_name: content-app
    restart: always
    deploy:
      resources:
        limits:
          memory: 128m
        reservations:
          memory: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      APP_BASE_SHARE_URL: "http://localhost:8080/aca/#/preview/s"

  proxy:
    image: alfresco/alfresco-acs-nginx:3.4.2
    container_name: proxy
    restart: always
    deploy:
      resources:
        limits:
          memory: 128m
        reservations:
          memory: 128m
    environment:
      TZ: Asia/Ho_Chi_Minh
      DISABLE_PROMETHEUS: "true"
      DISABLE_SYNCSERVICE: "true"
      DISABLE_ADW: "true"
      DISABLE_CONTROL_CENTER: "true"
      ENABLE_CONTENT_APP: "true"
    depends_on:
      - alfresco
      - content-app
    ports:
      - "80:80"
    links:
      - content-app
      - alfresco
      - share
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf&lt;/PRE&gt;&lt;P&gt;You can change memory limit you want to assign to each container.&lt;BR /&gt;You can change time zone of container by editing environment "TZ"&lt;BR /&gt;You can customize alfresco with ./tomcat/alfresco-global.properties or not&lt;BR /&gt;You can customize alfresco-search-services with ./alfresco-search-services/shared.properties or not&lt;BR /&gt;You can customize proxy with ./nginx/nginx.conf or not , for ex : port 80 instead of 8080&lt;/P&gt;&lt;PRE&gt;events {
    worker_connections  1024;
}

http {
    server {
        listen *:80;

        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            $host:$server_port;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        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/.*/api/solr/.*)$ {return 403 ;}
        location ~ ^(/.*/-default-/proxy/.*/api/.*)$ {return 403;}

        # Prometheus settings, do not remove
        #PROMETHEUS_LOCATION

        location / {
            proxy_pass http://alfresco:8080;
        }

        location /alfresco/ {
            proxy_pass http://alfresco:8080;

            # If using external proxy / load balancer (for initial redirect if no trailing slash)
            absolute_redirect off;
        }

        # Share settings, do not remove
        location /share/ {
            proxy_pass http://share:8080;
            absolute_redirect off;
        }

        # Control Center settings, do not remove
        #CONTROL_CENTER_LOCATION

        # ADW settings, do not remove
        #ADW_LOCATION

        # ACA settings, do not remove
        location /content-app/ {
            proxy_pass http://content-app:8080/;
            absolute_redirect off;
        }

        # Sync service settings, do not remove
        #SYNCSERVICE_LOCATION
    }
}&lt;/PRE&gt;&lt;P&gt;If you don't want to customize any thing, just comment out specific lines at "volumes" part&lt;BR /&gt;You should wait for alfresco-search-services to index full your documents again. "&lt;A href="http://your_server_ip:8083/solr/#/alfresco" target="_blank" rel="nofollow noopener noreferrer"&gt;http://your_server_ip:8083/solr/#/alfresco&lt;/A&gt;"&lt;BR /&gt;Some commands may help you:&lt;BR /&gt;- docker compose -f filename.yml up -d --&amp;gt; start containers&lt;BR /&gt;- docker compose -f filename.yml down --&amp;gt; stop containers&lt;BR /&gt;- docker ps -a --&amp;gt; view all containers status&lt;BR /&gt;- docker logs container_name --&amp;gt; view logs output of a container&lt;/P&gt;</description>
      <pubDate>Mon, 13 Mar 2023 03:53:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/plan-upgrade-alfresco-community-5-2-0-install-with-bin-to-7-1-0/m-p/136830#M36731</guid>
      <dc:creator>jack_chuong</dc:creator>
      <dc:date>2023-03-13T03:53:32Z</dc:date>
    </item>
  </channel>
</rss>

