Generate a docker Ubuntu based image for Alfresco Community v5.2.0 (see http://dl.alfresco.com/release/community/201707-build-00028/alfresco-community-installer-201707-linux-x64.bin)
The Dockerfile builds from "dockerfile/ubuntu" see https://hub.docker.com/_/ubuntu/
- Installs "ubuntu-desktop" required for Alfresco transformation
- Dockerfile defines an "ENTRYPOINT" performing following configurations when container is started first:
- Reduces system.content.orphanProtectDays to 1. Goal, saving space by reducing how long "orphan" content is kept.
- Disable "deletedContentBackupListener" transferring deleted content files to "contentstore.deleted" no need to empty the folder manually to recuperate physical space.
- modifinitpass.sh reinitialize the initial repo password or "admin" to value of the ALFRESCO_PASWORD env variable passed when container initialy started
- tunesolr.sh disable solr encryption between solr and alfresco for small cpu gain. solr and alfresco backend are installed on same server.
- starts Alfresco
- Environment variables having name starting with "ALF_xxx" that are passed using the -e options will be copied or value updated in "alfresco-global.properties". Example: -e ALF_22=share.protocol=https will indicate that protocol for share is https and configuration line will be inserted or updated accordingly in "alfresco-global.properties"
- Subsequent container start is only starting Alfresco adding or updating configuration passed using -e ALF_xxx=conf line.
- The possibility to start postgresql container separately from the alfresco (tomcat) container
- Configured alfrescoprotectnode to protect some "well known" nodes against accidental deletion.
cd _folder-containing-Dockerfile_
sudo docker build -t _image-name_ .
Examples:
sudo docker build -t alfresco-5.2.0 .
The approach applied is to use dedicated container for volume sharing between host and container.
Decide where to locate your content, index and database files on your host and create directory for it.
Example:
mkdir /var/alf_data
The same can be achieved using a single command "docker-compose":
A "your-docker-compose.yml" can be used as follows
version: '3'
services:
alfresco:
image: "docker pull harpunius/alfresco:latest"
volumes:
- /var/alf_data:/opt/alfresco/alf_data
Adjust the volume value to indicate your index, content and DB files location on your host.
sudo docker-compose -f your-docker-compose.yml up