Run the latest version of AWX with Docker and Docker Compose.
AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is the upstream project for Tower, a commercial derivative of AWX.
ℹ️ The stack include an Elasticsearch beat image, Metricbeat to send information to a Elastic Stack about the status of the machine and services in the stack.
Check out to the Docker Elastic stack development.
Based on the official Docker images from Ansible, Redis and PostgreSQL:
Addtitional images:
- Docker Engine
- Docker Compose
- 1.5 GB of RAM
By default, the stack exposes the following ports:
- 80: AWX web page
Ensure the Shared Drives feature is enabled for the C:
drive.
The default Docker for Mac configuration allows mounting files from /Users/
, /Volumes/
, /private/
, and /tmp
exclusively. Make sure the repository is cloned in one of those locations or follow the instructions from the
documentation to add more locations.
Clone this repository, then start the stack using Docker Compose:
$ git clone https://github.com/AlanPadi95/docker-awx-stack.git
...
$ docker-compose up
You can also run all services in the background (detached mode) by adding the -d
flag to the above command.
ℹ️ You must run
docker-compose build
first whenever you switch branch or update a base image.
If you are starting the stack for the very first time, please read the section below attentively.
AWX data is persisted in PostgreSQL server, inside a volume by default.
In order to entirely shutdown the stack and remove all persisted data, use the following Docker Compose command:
$ docker-compose down -v
Support for Docker Swarm mode is provided in the form of a docker-compose.yml
file, which can
be deployed in an existing Swarm cluster using the following command:
$ docker stack deploy -c docker-compose.yml awx
If all components get deployed without any error, the following command will show 6 running services:
$ docker stack services awx
The stack is pre-configured with the following privileged user:
- user: admin
- password: password
For more information about AWX configurations, please take a little look to the official administration guide, the user guide and the official GitHub Repository.