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
Kubernetes Version
Kubernetes Version
- 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.
Cluster Resources
Cluster Resources
Minimum resource requirements per AWX instance:
Additional resources needed for:
| Component | CPU (cores) | Memory (GB) | Storage (GB) |
|---|---|---|---|
| AWX Web | 0.5 | 1 | - |
| AWX Task | 0.5 | 2 | - |
| PostgreSQL | 0.5 | 2 | 20 |
| Redis | 0.25 | 1 | - |
| Total | 1.75 | 6 | 20 |
- 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
Storage Requirements
Storage Requirements
- 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)
- PostgreSQL: 20GB minimum, 100GB+ recommended for production
- Projects: 10GB minimum for Ansible playbooks and roles
- Redis: Ephemeral storage (typically not persistent)
Networking Requirements
Networking Requirements
- 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.
Container Registry Access
Container Registry Access
Access required to pull container images from:
quay.io/ansible/awx- AWX application imagequay.io/ansible/awx-operator- AWX Operator imagequay.io/ansible/awx-ee- Default execution environment imagesdocker.ioorquay.io- PostgreSQL and Redis images
Client Tools
- kubectl
- oc (OpenShift)
- Kustomize
- Helm (Optional)
Kubernetes CLI - Required for cluster interactionMinimum version: 1.21 (should match cluster version ±1 minor version)
Permissions
After initial operator installation, regular users with appropriate RBAC can deploy AWX instances.Docker Compose Requirements
For development environments using Docker Compose:Software Prerequisites
Docker Engine
Docker Engine
Version: Docker 20.10 or later
- Linux
- macOS
- Windows
Install Docker CE from official repositories:
Log out and back in after adding your user to the docker group.
Docker Compose
Docker Compose
Version: Docker Compose 2.0 or later (Compose V2)
Docker Desktop includes Docker Compose. Linux users may need to install it separately.
Ansible
Ansible
Version: Ansible 2.9 or laterRequired for templating docker-compose configuration files.
OpenSSL
OpenSSL
Version: OpenSSL 1.1.1 or laterUsed for generating SSL certificates.
Git
Git
Version: Git 2.0 or laterRequired for cloning the AWX repository.
Frontend Development Tools (Optional)
Required only if building the AWX web interface:- Node.js
- npm
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.
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 8 GB | 16 GB |
| Disk | 20 GB | 50 GB |
| Network | Stable internet connection for image pulls and package downloads |
- 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:- Linux
- macOS
- Windows
- Fedora (maintained versions)
- Ubuntu LTS (18.04, 20.04, 22.04)
- Red Hat Enterprise Linux 8, 9
- CentOS Stream 8, 9
- Debian 10, 11
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:- Web Framework
- Database
- Ansible & Automation
- Cloud & Secrets
- Observability
- 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
Development Dependencies
Additional packages for development and testing:Network Requirements
Both installation methods require network access:Outbound Access
Container Registries
Container Registries
quay.io- AWX imagesghcr.io- GitHub Container Registrydocker.io- Docker Hub (PostgreSQL, Redis)registry.k8s.io- Kubernetes components
Package Repositories
Package Repositories
pypi.org- Python packages (pip)npmjs.org- Node.js packages (npm)github.com- Git repositories- OS package repositories (apt, yum, dnf)
Runtime Dependencies
Runtime Dependencies
- 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:| Port | Protocol | Direction | Purpose |
|---|---|---|---|
| 80 | TCP | Inbound | HTTP (redirect to HTTPS) |
| 443 | TCP | Inbound | HTTPS (web interface and API) |
| 27199 | TCP | Bi-directional | Receptor mesh (clustered AWX) |
| 5432 | TCP | Internal | PostgreSQL (within cluster) |
| 6379 | TCP | Internal | Redis (within cluster) |
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
- AWX Operator
- Docker Compose
- External Database
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: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