How to build Ansible AWX in Docker containers?
AWX is the Open Source upstream project of the Ansible Automation Controller, included in the Ansible Automation Platform (formerly Ansible Tower).
Running in Docker containers to use the modern web-UI and API interface. Running in Docker containers is recommended only for experienced users and developers.
I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
Ansible AWX
Ansible AWX supports only the x86_64 operating system:
- Fedora (maintained versions)
- Ubuntu LTS (20.04 or 22.04)
- Red Hat Enterprise Linux 8+, CentOS Stream 8+
- macOS 11
Ansible AWX is the upstream project of Ansible Automation Controller (formerly Ansible Tower), providing a modern web-UI and API interface to manage Ansible Playbooks, inventories, Credentials, and Vaults between your team in your organization.
Running AWX in local Docker containers allows you to test the AWX web-UI and API to manage Ansible Playbook execution easily. AWX run on Docker is considered for Testing or Development only; the preferred way is via the AWX Operator since version 18.0. This initial configuration sometimes is a roadblock for some Ansible AWX users.
Links
- [Installing AWX](https://github.com/ansible/awx/blob/devel/INSTALL.md)
Playbook
How to Build Ansible AWX in Docker containers.
I’m going to show you how to build the latest Ansible AWX in the latest Fedora using Docker containers and the latest receptor image.
The additional software must be installed:
- OpenSSL library
- Ansible
- Docker
Please note that the latest Docker technology should be installed in the target system, the Docker service must be started, and the current user added to the docker group. Also, the latest docker-compose Python module must be installed for a successful installation.
How to build the Ansible AWX Base Container Image and download the latest Ansible Receptor Image.
Clone the latest stable tag Ansible AWX repository
``bash
git clone -b x.y.z https://github.com/ansible/awx.git
`
Substitute x.y.z with the latest release version number (for example, 21.5.0).
Configure the inventory (optional)
You can customize the inventory parameters pg_password, broadcast_websocket_secret, secret_key, and any other settings you need for your deployment.
The Ansible AWX Base Container Image
build the AWX Base Container Image.
`bash
$ make docker-compose-build
``
This command builds the AWX base container image (it takes a whi