How to Install Concourse CI on Ubuntu 20.04 Using Docker?

Concourse CI is a streamlined, scalable, and open-source continuous integration (CI) system written in Go. Its simple, pipeline-based architecture makes it ideal for automating development workflows. In this tutorial, you’ll learn how to deploy Concourse CI on Ubuntu 20.04 using Docker and Docker Compose.

 

Step 1: Install Docker

Begin by installing Docker. Run the following commands to set up Docker on your Ubuntu system:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

 

Step 2: Install Docker Compose

Download and install Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

 

Step 3: Set Up Docker Compose for Concourse

Create a new directory for your Concourse deployment and navigate into it:

mkdir concourse-docker && cd concourse-docker

Create the docker-compose.yml file:

nano docker-compose.yml

Paste the following configuration:

version: '3'
services:
concourse-db:
image: postgres
environment:
POSTGRES_DB: concourse
POSTGRES_USER: concourse
POSTGRES_PASSWORD: concourse_pass
networks: [concourse-net]
concourse:
image: concourse/concourse
command: quickstart
depends_on: [concourse-db]
ports: ["8080:8080"]
environment:
CONCOURSE_POSTGRES_HOST: concourse-db
CONCOURSE_POSTGRES_USER: concourse
CONCOURSE_POSTGRES_PASSWORD: concourse_pass
CONCOURSE_POSTGRES_DATABASE: concourse
CONCOURSE_EXTERNAL_URL: http://localhost:8080
CONCOURSE_ADD_LOCAL_USER: testuser:testpass
CONCOURSE_MAIN_TEAM_LOCAL_USER: testuser
networks: [concourse-net]
networks:
concourse-net: {}

 

Step 4: Start Concourse CI

Launch the Concourse containers:

docker-compose up -d
Facebook
Twitter
LinkedIn
Reddit
WhatsApp
Telegram
Email
Print