Introdução

O AWX é o projeto open source mantido pela Red Hat que serve de base para o Ansible Automation Platform (antigo Ansible Tower). Ele adiciona uma interface web completa, API REST, RBAC, agendamento de jobs e dashboards sobre o motor de automação do Ansible. Para equipes de TI industrial que gerenciam dezenas ou centenas de ativos — CLPs, gateways IoT, servidores SCADA e estações de engenharia — o AWX centraliza a execução e a auditoria das automações. Neste tutorial, vamos instalar o AWX no Ubuntu Linux utilizando Docker Compose, a forma mais indicada para ambientes single-node de teste ou pequena produção.

Pré-requisitos

Passo 1: Instalando o Docker

sudo apt update
sudo apt install ca-certificates curl gnupg git -y
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") 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 docker-compose-plugin -y
sudo systemctl enable --now docker

Passo 2: Obtendo o projeto de instalação

Vamos utilizar o repositório comunitário que empacota o AWX para Docker Compose:

git clone https://github.com/kurokobo/awx-on-docker.git
cd awx-on-docker

Passo 3: Configurando o ambiente

cp .env.example .env

Edite o arquivo .env e defina valores seguros:

AWX_ADMIN_USER=admin
AWX_ADMIN_PASSWORD=Senha@Forte123
AWX_POSTGRES_PASSWORD=Postgres@Forte123
AWX_SECRET_KEY=chave-secreta-longa-e-aleatoria-para-producao

Passo 4: Subindo a stack

sudo docker compose up -d --build
sudo docker compose ps

O primeiro start pode levar de 5 a 10 minutos, pois o AWX executa migrações de banco de dados e coleta de arquivos estáticos. Acompanhe com:

sudo docker compose logs -f awx-task

Passo 5: Acessando o AWX

Acesse via navegador:

https://<IP_DO_SERVIDOR>:8443

Use o usuário e senha configurados no .env para o primeiro login.

Passo 6: Configurando o primeiro Job Template

  1. Crie uma Credential do tipo "Machine" com a chave SSH privada dos hosts gerenciados.
  2. Crie um Inventory e adicione os hosts manualmente ou via inventário dinâmico (ex.: plugin de nuvem).
  3. Crie um Project apontando para o repositório Git com seus playbooks (ex.: https://github.com/sua-empresa/playbooks-industriais.git).
  4. Crie um Job Template selecionando o playbook (ex.: deploy-agentes.yml), o inventário e a credencial criados.
  5. Clique em Launch para executar e acompanhar o job em tempo real pela interface.

Erros comuns

ansibleawxdockerubuntuautomacao
← Voltar para o blog