A collection of examples for the creation, provisioning and virtualization of machine images that sits on top of:
- Packer, for creation
- chef-alfresco, for provisioning
- Docker, for (smart) virtualization
With this project you can
- Build Alfresco (custom) images of any nature with Packer, without worrying about the provisioning part
- Run on-the-fly Vagrant boxes with Alfresco stack fully configured
- Integrate additional provisioning logic using Packer provisioners
- Run a clustered environment using Alfresco-boxes images for Docker
- Build your custom hierarchy of Alfresco images
- Supports Community and Enterprise editions
- Tested with latest 4.2.3 and 5.0.a versions
- Installs and configures Repository, Share and Solr application
- Tested on CentOS and Ubuntu
- Runs on Vagrant, Packer and Docker, sharing the same set of Chef cookbooks
- Compatible with AWS, DigitalOcean, OpenStack and many other services
- Handles Tomcat SSL keystore installation
- Supports AMP installation (via MMT)
- Supports custom Maven repositories (and credentials encryption)
- Can be configured for any Alfresco WAR(s) version/distro; artifacts can be resolved by (local FS) path, url or Maven coordinates
- Auto-generate and/or patch property files (alfresco-global.properties, share-config-custom.xml, log4j.properties, solrcore.properties) without the need to maintain pre-defined templates
Check chef-alfresco docs for a full overview of provisioning features.
- Install ChefDK
- Checkout this project with
git https://github.com/maoo/alfresco-boxes.gitub alfresco-boxes
- Install VirtualBox - you can optionally use VMWare Player/Fusion
- Install Vendor Chef Cookbooks with
cd alfresco-boxes/common && ./create-vendor-cookbooks.sh
- This step needs to be executed everytime that
common/Berksfile
is edited - Cookbooks are fetched and locally cached into
common/vendor-cookbooks
folder - By default
common/vendor-cookbooks
folder is git-ignored (via.gitignore
), but it could be pushed in order to be used by other provisioning systems, like AWS OpsWorks
- This step needs to be executed everytime that
- If you want to build with Packer, follow packer/README.md
- If you want to run with Vagrant, follow vagrant/README.md
- If you want to virtualise with Docker, follow docker/README.md
If you're using Ubuntu as guest machines and you're running alfresco-boxes behind a firewall, you must ensure that port 11371 is open/reachable