Welcome to today’s guide on how to install Ansible AWX on Ubuntu 20.04|18.04 with Nginx Reverse Proxy and optional Let’s Encrypt SSL Certificate. Ansible AWX is an open source tool which provides a web-based user interface, REST API, and task engine for easy and collaborative management of Ansible Playbooks and Inventories.

AWX allows you to centrally manage Ansible playbooks, inventories, Secrets, and scheduled jobs from a web interface. It is easy to install AWX on Ubuntu 20.04|18.04 (Bionic Beaver) Linux system. Use the steps shared below to install and configure Ansible AWX on Ubuntu 20.04|18.04 Linux server.

Setup minimum requirements

  • Ubuntu 20.04|18.04 LTS Server
  • At least 4GB of RAM – More is better
  • 2vcpus – Pump more if you have
  • 10GB free disk storage
  • root or user with sudo for ssh

Step 1: Update Ubuntu system

Update and upgrade your system

sudo apt update && sudo apt -y upgrade
sudo reboot

Step 2: Install Ansible on Ubuntu

Install the latest release of Ansible using the commands below.

Install Ansible on Ubuntu 20.04:

sudo apt update
sudo apt install ansible

Install Ansible on Ubuntu 18.04:

echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/ansible.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt update
sudo apt install -y ansible

Use the command below to check your Ansible version.

$ ansible --version
ansible 2.8.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/ubuntu/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
 python version = 2.7.15+ (default, Oct  7 2019, 17:39:04) [GCC 7.4.0]

Step 3: Install Docker and Docker Compose

Ansible AWX services will run as docker containers. We need Docker Engine to power the environment.

Install Docker on Ubuntu Linux

Install Docker Compose:

How To Install Latest Docker Compose on Linux

You should be able to print Docker version after installation.

$ docker version
Client: Docker Engine - Community
 Version:           19.03.4
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        9013bf583a
 Built:             Fri Oct 18 15:54:09 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
  Version:          19.03.4
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       9013bf583a
  Built:            Fri Oct 18 15:52:40 2019
  OS/Arch:          linux/amd64
  Experimental:     false
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
  Version:          0.18.0
  GitCommit:        fec3683

Step 4: Install Node and NPM

Install Node.js and NPM on your Ubuntu system.

sudo apt install -y nodejs npm
sudo npm install npm --global

Step 5: Install Ansible AWX on Ubuntu 20.04/18.04

Install docker-py python module by executing below commands in your terminal.

--- Ubuntu 20.04 ---
sudo apt install python3-pip git pwgen vim
sudo pip3 install requests==2.14.2

--- Ubuntu 18.04 ---
sudo apt install python-pip git pwgen vim
sudo pip install requests==2.14.2

Install docker-compose module which matches your Docker Compose version.

$ docker-compose version
docker-compose version 1.27.4, build 4667896
docker-py version: 4.4.0
CPython version: 3.8.5
OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020

--- Ubuntu 20.04 ---
$ sudo pip3 install docker-compose==1.27.4

--- Ubuntu 18.04 ---
$ sudo pip install docker-compose==1.27.4

Clone AWX source code from GitHub using the git command.

sudo su -
git clone --depth 50 https://github.com/ansible/awx.git

Change to the AWX installer directory

Since you need to execute ansible playbooks under installer directory, first navigate to this directory.

cd awx/installer/

Check the inventory file in the awx directory, you can customize as you want:

$ vim inventory

Generate AWX secret key

$ pwgen -N 1 -s 30

Modify inventory file with correct settings for your setup. Minimal settings:


Execute playbook

Run ansible-playbook command followed by option -i which tells it the inventory file to use. The name of the playbook file is install.yml.

ansible-playbook -i inventory install.yml

Installation output, check if you got any error messages.

install ansible awx debian ubuntu 01

Use the docker ps command to get a list of running containers.

install awx ubuntu docker ps

Step 6: Access Ansible AWX Dashboard

The web portal is accessible via hostip_or_hostname:8000 or port 80 if you didn’t change it. You will get a welcome dashboard similar to one below.

Login with admin user account password set in the inventory file. Once you authenticate, you’ll get to AWX administration dashboard.

Ansible Learning courses:

Similar articles:

How To Install and Configure Ansible Tower on CentOS 7

Install Ansible AWX on CentOS 7 / Fedora

Semaphore – Manage Ansible Tasks from A Web UI

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


  1. If I run through the manual. All tasks of the playbook are skipping with “Conditional result was False”.

    Before the playbook everything else was fine.

    Does anyone know what I have to do regarding this?


Please enter your comment!
Please enter your name here