Those who work with Ansible Core usually work on the command line. What is still ok for small projects quickly reaches its limits in larger environments, for example when dynamic inventories, automatic retrieval of playbooks from repositories and so on and so forth are required.

Of course, you can do all this somehow, but Red Hat also offers a web-based essay called Ansible Tower, which offers some exciting features, including those mentioned above.

In autumn 2017 it was decided to publish the Ansible Tower in an open source project called AWX - details can be found here if interested - so that these functions can now also be used without purchasing a license.

Install AWX (Ansible) on Debian

Example of a playbook-run in AWX

The article briefly shows the necessary steps to install AWX on Debian GNU/Linux 10 "Buster".

#install some basic software
apt install -y ansible docker docker-compose git python3-docker 

#start docker and enable autostart
systemctl enable docker
systemctl start docker

#change default version of python to version 3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2

#clone awx
cd ~
git clone
cd ~/awx/installer

Now we have to adapt the inventory file to our circumstances.

For first test purposes you can surely take over the defaults, but you should be aware that very insecure passwords are assigned here, e.g. for the database. Also, /tmp may not be the best place for "postgres_data_dir".

After editing the inventory file, the installation can be started using ansible.

#changes parameters
sed -i "s|postgres_data_dir=/tmp/pgdocker|postgres_data_dir=/var/pgdocker|g" inventory
sed -i "s|docker_compose_dir=/tmp/awxcompose|docker_compose_dir=/var/lib/awx|g" inventory
sed -i "s|#project_data_dir=/var/lib/awx/projects|project_data_dir=/var/awx_projects|g" inventory

#install awx
ansible-playbook install.yml -i inventory

If no errors occurred here, you can enter the host name of the machine in the browser, log in with the user "admin" and the password "password" and get started.

Update AWX and its components

An update is very easy thanks to docker-compose (now you also know why we activated docker-compose above):

cd /var/lib/awx/
docker-compose stop
docker-compose pull && docker-compose up --force-recreate -d

Translated via: