cancel
Showing results for 
Search instead for 
Did you mean: 
angelborroy
Community Manager Community Manager
Community Manager

If you’re new to Alfresco and want to get it running on your Linux machine quickly, this guide walks you through the entire process step-by-step. No prior Docker experience needed.

We’ll use Docker to run Alfresco and its required services without worrying about complex manual installations, and the Alfresco CLI to generate all the necessary configuration for you.

1. Install Docker on Ubuntu

First, update your package list and install some required packages:

sudo apt-get update
sudo apt-get install ca-certificates curl

Then, add Docker official GPG key and repository:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Update your package list again and install Docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker lets us run applications in containers, self-contained environments with all dependencies pre-installed.

2. Allow Your User to Run Docker

By default, Docker needs sudo to run. Let’s add your user to the docker group so you can run Docker commands without sudo:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

3. Download the Alfresco CLI Tool

The Alfresco CLI will generate all the Docker Compose files and configuration for you.

wget https://github.com/aborroy/alf-cli/releases/download/0.1.1/alfresco_linux_amd64
mv alfresco_linux_amd64 alf-cli
chmod +x alf-cli

4. Generate Your Alfresco Docker Setup

Run the CLI to create your Alfresco configuration:

./alf-cli docker-compose

You’ll be asked a few questions, here is an example run:

Welcome to the Alfresco CLI!
Use 'alfresco --help' to see available commands.
Detected resources available for Docker: CPUs=4, RAM (in GB)=31
Which ACS version do you want to use?: 25.2
Do you want to enable HTTPS?: No
What is the name of your server?: 52.16.161.42
Choose the password for your 'admin' user: •••••
What HTTP port do you want to use (all the services are using the same port)?: 80
Do you want to specify a custom binding IP for HTTP?: No
Do you want to use FTP (default port is 2121)?: No
Which Database Engine do you want to use?: postgres
Are you using content in different languages (this is the most common scenario)?: Yes
Do you want to search in the content of the documents?: Yes
Which Solr communication method do you want to use?: secret
Do you want to use the Events service (ActiveMQ)?: No
Select the addons to be installed: (none)
Do you want Docker to manage volume storage (recommended)?: No
WARNING: Before starting Alfresco for the first time, run 'sudo ./create-volumes.sh'

Tip: Choose "Docker-managed volumes" unless you have a specific reason to bind mount folders. This avoids Linux file permission issues.

What the CLI Created for You

After running the command, you’ll see something like:

tree
.
├── README.md   # Quick reference for your stack
├── alf-cli     # The CLI tool you downloaded
├── alfresco/   # Alfresco Repository build files
│ ├── Dockerfile
│ └── modules/  # Place custom modules here
│ ├── amps/empty
│ └── jars/empty
├── share/      # Alfresco Share build files
│ ├── Dockerfile
│ └── modules/...
├── search/     # Search Services build files
│ └── Dockerfile
├── config/nginx.conf # Reverse proxy configuration
├── compose.yaml      # Docker Compose definition
├── create_volumes.sh # Script to prepare storage volumes
├── libs/             # Extra libraries (e.g. ActiveMQ broker JAR)
└── README.md

Tip: You can place your own custom AMP or JAR extensions into the "alfresco/modules" or "share/modules" folders before building.

5. Prepare Storage Volumes

Before starting Alfresco, if you chose bind volumes, you must create the storage volumes:

chmod +x create_volumes.sh
sudo ./create_volumes.sh

6. Start Alfresco

Now you can launch the entire Alfresco stack:

docker compose up --build

You’ll see logs showing Alfresco and its services starting up.

alfresco-1 | 11-Aug-2025 10:42:57.725 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
alfresco-1 | 11-Aug-2025 10:42:57.809 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1173] milliseconds

7. Verify Everything is Running

Once the startup finishes, open your browser and check these URLs (replace "52.16.161.42" with your server IP):

Summary

You’ve just installed Alfresco on Linux using Docker in 7 simple steps:

1. Install Docker
2. Add your user to the Docker group
3. Download the Alfresco CLI
4. Generate the Docker configuration
5. Create volumes
6. Start the stack
7. Access the services in your browser

This setup is great for development, testing, or learning Alfresco. For production, you’ll need to consider HTTPS, backups, scaling, and monitoring. But that’s a topic for another post.