Jack Wallen walks you through the process of deploying the Redmine project management tool using Docker Compose.
Redmine is an open-source project management platform that you can install on your local network or on a third-party cloud host. This approach to project management includes support for multiple projects, flexible role-based access control, flexible issue tracking, Gantt charts, calendars, news, documents, and task management. files, feeds and email notifications, wikis per project and forums per project.
SEE: Recruitment Kit: Project Manager (TechRepublic Premium)
Redmine is free and can be installed manually or through Docker. Since manual installation can be a bit cumbersome for some, the most logical and portable method is to deploy the platform through Docker. And that’s exactly what I want to show you.
What you’ll need to deploy Redmine with Docker Compose
For this to work, you will need an operating system that supports Docker. I’ll demonstrate with Ubuntu Server 22.04, but you can work with any OS that supports the container runtime in question.
With your operating system of choice at hand, let’s go.
How to install the latest version of Docker
In case your OS doesn’t already include Docker, let’s install it.
The first thing we are going to do is add the official Docker GPG key with:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Next, add the Docker repository:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install the necessary dependencies with the command:
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
sudo apt-get update
Install the latest version of the Docker engine with the command:
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Finally, make sure your user is still a member of the docker group with the command:
sudo usermod -aG docker $USER
Log out and log back in for the changes to take effect.
You should now have the docker and docker-compose commands ready to use.
How to create the Dockerfile
Next, we need to create a Dockerfile that will define the version of Redmine we will be using. We will be using the latest version, which is 5.0.3. Create a new directory with the command:
Access this directory with:
Create the Dockerfile with:
In this file, paste the following:
FROM redmine:5.0.3 RUN apt-get update
Save and close the file.
How to create the docker-compose.yml file
We will now create the docker-compose.yml file with the command:
nano docker-compose.yml version: '3.3' services: postgres: image: postgres:10 volumes: - ./storage/postgresql-data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: "PASSWORD" POSTGRES_DB: "redmine" PGDATA: "/var/lib/postgresql/data" restart: always redmine: build: context: . image: redmine:custom ports: - 80:3000 volumes: - ./storage/docker_redmine-plugins:/usr/src/redmine/plugins - ./storage/docker_redmine-themes:/usr/src/redmine/public/themes - ./storage/docker_redmine-data:/usr/src/redmine/files environment: REDMINE_DB_POSTGRES: "postgres" REDMINE_DB_USERNAME: "postgres" REDMINE_DB_PASSWORD: "PASSWORD" REDMINE_DB_DATABASE: "redmine" REDMINE_SECRET_KEY_BASE: "…" restart: always
Be sure to replace PASSWORD with a strong, unique password.
Save and close the file. The docker-compose file above configures everything needed and even configures volumes for persistent data.
How to deploy the container
We can now deploy the container with the command:
docker-compose up -d
How to Access Redmine
Once the images are pulled and the container is deployed, give it a minute to install, then point your web browser to http://SERVER, where SERVER is the IP address of the hosting server.
You should be presented with the Redmine login page, where you will use admin/admin credentials. After successful login, you will be prompted to change the administrator user password immediately (Figure A).
After resetting the administrator password, a window will appear where you can customize your account settings (Figure B).
After you’ve taken care of that, click on Administration in the top menu bar. In the resulting window (Figure C), make sure you go through all administration tasks, such as creating users/groups/roles, setting up workflow, taking care of general settings, etc.
And There you go. Redmine is up and running and ready to help you manage these projects like a boss.