I would like to automate also a lot of tasks at home, so I installed AWX and this are the steps I did.
First I installed Docker based on the following Documentation
https://docs.docker.com/engine/install/centos/
# Install Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl enable docker
systemctl start docker
# Test Docker
docker run hello-world
When Docker is running successfully, install the prerequisites needed for AWX.
yum install -y python38
yum install -y git
yum install -y ansible
yum install -y pwgen
pip3 install docker
pip3 install docker-compose
Then I create a dedicated folder for AWX and in there 2 directories for the projects and python virtual envs used in AWX. After the creation of the folders, clone the git-repo and checkout the needed version
mkdir -p /opt/awx/projects
mkdir -p /opt/awx/my-envs
cd /opt/awx
git clone --depth 50 https://github.com/ansible/awx.git
git checkout 15.0.1 #or choose other version from https://github.com/ansible/awx/tags
After cloning the repo, change the settings in the inventory file as you need it. For a basic installation I just changed:
# Generate a random code with
pwgen -N 1 -s 30
- project_data_dir=/opt/awx/projects
- custom_venv_dir=/opt/awx/my-envs/
- secret_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
Before starting the installation, open the firewall ports needed to access AWX and for Docker
firewall-cmd --zone=public --add-service=http --permanent
# Docker and firewalld
firewall-cmd --zone=public --add-masquerade --permanent
As a final stage start the installation by running the installation playbook with ansible
cd /opt/awx/awx/installer
ansible-playbook -i inventory install.yml
# check if containers are running with:
docker ps

After a while you see the awx login screen and you can login with admin:password
