Skip to main content
Before installing AWX, ensure your system meets the necessary requirements. Requirements vary depending on your chosen installation method.

Installation Method Requirements

Choose the requirements section that matches your installation method:

AWX Operator Requirements

Requirements for Kubernetes/OpenShift production deployments

Docker Compose Requirements

Requirements for local development environments

AWX Operator Requirements

For production deployments using the AWX Operator:

Kubernetes Cluster

  • Minimum: Kubernetes 1.21 or later
  • Recommended: Kubernetes 1.25+ or OpenShift 4.10+
  • Supported: Any CNCF-certified Kubernetes distribution
The AWX Operator is tested against recent Kubernetes releases. Check the operator compatibility matrix for specific version support.
Minimum resource requirements per AWX instance:
Recommended production resources: 4 CPU cores, 16GB RAM, 100GB SSD storage for PostgreSQL
Additional resources needed for:
  • Multiple replicas: Multiply web and task resources by replica count
  • Job execution: Jobs consume additional memory and CPU during execution
  • Projects storage: Allocate 10-50GB for Ansible project files
  • StorageClass: Dynamic volume provisioning support
  • Access Modes: ReadWriteOnce (RWO) for database volumes
  • Performance: SSD or high-performance storage recommended for PostgreSQL
  • Backup: Additional storage for AWXBackup resources (size depends on data volume)
Storage types:
  • PostgreSQL: 20GB minimum, 100GB+ recommended for production
  • Projects: 10GB minimum for Ansible playbooks and roles
  • Redis: Ephemeral storage (typically not persistent)
  • Service Access: LoadBalancer or Ingress controller for external access
  • DNS: Internal DNS for service discovery
  • Egress: Internet access for container image pulls and external integrations
  • Ports:
    • 80/443 (HTTP/HTTPS) - Web interface and API
    • 27199 (TCP) - Receptor mesh network (for clustered deployments)
If using an Ingress controller, ensure TLS/SSL certificates are configured for secure access.
Access required to pull container images from:
  • quay.io/ansible/awx - AWX application image
  • quay.io/ansible/awx-operator - AWX Operator image
  • quay.io/ansible/awx-ee - Default execution environment images
  • docker.io or quay.io - PostgreSQL and Redis images
For air-gapped environments, mirror these images to a private registry.

Client Tools

Kubernetes CLI - Required for cluster interaction
Minimum version: 1.21 (should match cluster version ±1 minor version)

Permissions

Cluster administrator permissions are required to:
  • Install Custom Resource Definitions (CRDs)
  • Create namespaces
  • Configure RBAC roles and bindings
  • Deploy the AWX Operator
After initial operator installation, regular users with appropriate RBAC can deploy AWX instances.

Docker Compose Requirements

For development environments using Docker Compose:

Software Prerequisites

Version: Docker 20.10 or later
Install Docker CE from official repositories:
Log out and back in after adding your user to the docker group.
Version: Docker Compose 2.0 or later (Compose V2)
Docker Desktop includes Docker Compose. Linux users may need to install it separately.
Version: Ansible 2.9 or laterRequired for templating docker-compose configuration files.
Version: OpenSSL 1.1.1 or laterUsed for generating SSL certificates.
Version: Git 2.0 or laterRequired for cloning the AWX repository.

Frontend Development Tools (Optional)

Required only if building the AWX web interface:
Version: Node.js 18.x or later (check ansible-ui requirements)

System Resources

Docker Compose environments require more resources than the containers alone because the development environment includes build tools, debuggers, and bind-mounted source code.
Disk usage breakdown:
  • Docker images: ~5-10 GB
  • AWX source code: ~500 MB
  • PostgreSQL data: ~1-5 GB (grows with usage)
  • Python dependencies: ~1 GB
  • Node.js dependencies (UI): ~2 GB
  • Logs and temporary files: ~1-2 GB

Tested Operating Systems

The Docker Compose development environment is regularly tested on:
  • Fedora (maintained versions)
  • Ubuntu LTS (18.04, 20.04, 22.04)
  • Red Hat Enterprise Linux 8, 9
  • CentOS Stream 8, 9
  • Debian 10, 11
x86_64 (amd64) architecture is fully supported. ARM64 support is experimental.
Use on other platforms is untested and may require local modifications.

Python Requirements

AWX is a Python application. While Python is included in container images, understanding the requirements is useful for development:

Python Version

Python 3.11 or 3.12 is required. Python 3.13 support is available in newer releases.

Core Dependencies

AWX depends on numerous Python packages. Key dependencies include:
  • Django 5.2: Web framework and ORM
  • djangorestframework 3.15: REST API framework
  • daphne 4.2: ASGI server for Django
  • channels 4.3: WebSocket and async support
  • channels-redis 4.3: Redis channel layer backend
For the complete list of dependencies, see:

Development Dependencies

Additional packages for development and testing:

Network Requirements

Both installation methods require network access:

Outbound Access

  • quay.io - AWX images
  • ghcr.io - GitHub Container Registry
  • docker.io - Docker Hub (PostgreSQL, Redis)
  • registry.k8s.io - Kubernetes components
  • pypi.org - Python packages (pip)
  • npmjs.org - Node.js packages (npm)
  • github.com - Git repositories
  • OS package repositories (apt, yum, dnf)
  • Ansible Galaxy: Download roles and collections
  • SCM servers: Git, Subversion, Mercurial repositories
  • Inventory sources: Cloud providers, external inventory systems
  • Credential providers: CyberArk, HashiCorp Vault, Azure Key Vault
  • Notification services: Slack, PagerDuty, email servers

Firewall Rules

For AWX Operator deployments:
Kubernetes/OpenShift handles internal networking automatically. Only ingress ports (80/443) need external firewall rules.

Database Requirements

PostgreSQL

AWX requires PostgreSQL as its database backend:
  • Version: PostgreSQL 12, 13, 14, or 15 recommended
  • Minimum: PostgreSQL 12
  • Extensions: No special extensions required
  • Character encoding: UTF8
  • Collation: en_US.UTF-8 or C
PostgreSQL is automatically deployed by the operator unless you configure an external database.Managed PostgreSQL:
  • Deployed as a StatefulSet
  • Uses persistent volumes for data
  • Default image: postgres:13 (configurable)
  • Automatically configured with correct settings

Redis

AWX uses Redis for caching and message brokering:
  • Version: Redis 6.0 or later
  • Persistence: Not required (ephemeral data)
  • Memory: 1GB minimum, 2GB recommended
Redis is automatically deployed and configured by both installation methods. External Redis is not commonly used.

AWX CLI Requirements

The AWX command-line interface has minimal requirements:
The CLI can be installed on any machine with network access to your AWX instance.

Checking Requirements

Use these commands to verify your system meets the requirements:

Next Steps

Once you’ve verified your system meets the requirements:

Install with AWX Operator

Deploy AWX on Kubernetes or OpenShift for production use

Install with Docker Compose

Set up a local development environment with Docker Compose