

- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
When developing with Alfresco, managing builds and configurations can become complex, especially in containerized environments. Docker Buildx Bake command provides a powerful way to simplify multi-container builds by using a declarative approach. Combined with Make and environment variables, developers can further streamline the process of setting up and deploying an Alfresco environment tailored to their needs.
The Alfresco Dockerfiles Bakery repository on GitHub brings these tools together, making it easier than ever to build, configure, and deploy an Alfresco stack in Docker. In this post, we’ll go over the requirements, setup, and key use cases for this project, plus show how the Makefile
and environment variables work with Docker Bake to create a seamless Alfresco deployment experience.
Requirements
To get started with Alfresco Dockerfiles Bakery, ensure your environment includes the following:
- Docker Buildx: includes the bake command, is essential. Install it by following the Docker Buildx guide
- Docker CLI: allows interaction with Docker Buildx for creating and managing builds.
- Make: Make is required to run tasks defined in the Makefile
- Git: Use Git to clone the Alfresco Dockerfiles Bakery repository
- Access to Alfresco artifacts in Nexus (community or enterprise editions)
Component Coverage
The bakery supports building images for various Alfresco components:
Content Services (Repository)
- Enterprise and Community editions
- Share interface
Search Services
- Enterprise Search with Live Indexing
- Community Search Service (Solr-based)
Transform Services
- Transform Router (ATS)
- Shared File Store
- Individual Transform Engines (LibreOffice, ImageMagick, PDF Renderer, Tika)
- All-in-One Transform Engine
Connectors
- Microsoft Teams Connector
- Microsoft 365 Connector
ADF Applications
- Control Center
- Digital Workspace
Sync Service
The project uses a hierarchical approach with standardized base images:
- Java base image (using RockyLinux 9)
- Tomcat base image (built on top of the Java base)
- Component-specific images inheriting from these bases
Configuration
- Configurable registry and namespace
- Support for multiple platforms/architectures
- Customizable user/group IDs for security
- Standardized labeling across all images
Build groups
Pre-defined build groups for different deployment scenarios:
enterprise
: Full enterprise stackcommunity
: Community edition componentscontent_service
: Core content servicessearch
: Search-related componentstengines
: Transform enginesconnectors
: Integration connectors
Using the project
To begin, clone the repository and navigate to the project directory:
git clone https://github.com/Alfresco/alfresco-dockerfiles-bakery.git
cd alfresco-dockerfiles-bakery
This project uses docker-bake.hcl
to define various build configurations and the Makefile
to simplify common tasks:
Use Cases
The combined use of Docker Bake, Make, and environment variables makes Alfresco Dockerfiles Bakery an ideal tool for several scenarios:
- Simplified Development Setup: Quickly set up a complete Alfresco stack for local development. Using
make build
with specific environment variables allows developers to match production configurations effortlessly. - CI/CD Pipelines: With the declarative setup in
docker-bake.hcl
andMakefile
commands, the project can be seamlessly integrated into CI/CD workflows, such as Jenkins, GitLab CI, or GitHub Actions. - Multi-Environment Deployments: By leveraging environment variables, developers can create configurations for multiple environments (e.g., staging, production) without changing the core Docker and Make configurations, making deployment flexible and easy to manage.
- Reusable Builds: For teams that frequently need specific configurations or versions of Alfresco, using Make and Bake together allows reusable, consistent builds that can be shared across the organization.
The Alfresco Dockerfiles Bakery provides a standardized, maintainable approach to building Docker images for Alfresco products. Its modular design and comprehensive configuration options make it a valuable tool for both development and production deployments of Alfresco solutions.
For the latest updates and detailed documentation, visit the official repository.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.