---
version: '2.1'
services:
# Primary AWX Development Container
awx_1:
user: "0"
image: "
quay.io/awx/awx_devel:19.5.1"
container_name: tools_awx_1
hostname: awx_1
command: launch_awx.sh
environment:
OS: "linux"
SDB_HOST: 0.0.0.0
SDB_PORT: 7899
AWX_GROUP_QUEUES: tower
MAIN_NODE_TYPE: "${MAIN_NODE_TYPE:-hybrid}"
RECEPTORCTL_SOCKET: /var/run/awx-receptor/receptor.sock
CONTROL_PLANE_NODE_COUNT: 1
EXECUTION_NODE_COUNT: 2
RUN_MIGRATIONS: 1
depends_on:
- postgres
- redis_1
networks:
- awx_default
working_dir: "/awx_devel"
volumes:
- "../../../:/awx_devel"
- "../../docker-compose/supervisor.conf:/etc/supervisord.conf"
- "../../docker-compose/_sources/database.py:/etc/tower/conf.d/database.py"
- "../../docker-compose/_sources/websocket_secret.py:/etc/tower/conf.d/websocket_secret.py"
- "../../docker-compose/_sources/local_settings.py:/etc/tower/conf.d/local_settings.py"
- "../../docker-compose/_sources/SECRET_KEY:/etc/tower/SECRET_KEY"
- "../../docker-compose/_sources/receptor/receptor-awx-1.conf:/etc/receptor/receptor.conf"
- "../../docker-compose/_sources/receptor/work_public_key.pem:/etc/receptor/work_public_key.pem"
- "../../docker-compose/_sources/receptor/work_private_key.pem:/etc/receptor/work_private_key.pem"
# - "../../docker-compose/_sources/certs:/etc/receptor/certs" # TODO: optionally generate certs
- "/sys/fs/cgroup:/sys/fs/cgroup"
- "~/.kube/config:/var/lib/awx/.kube/config"
- "redis_socket_1:/var/run/redis/:rw"
privileged: true
tty: true
ports:
- "7899-7999:7899-7999" # sdb-listen
- "6899:6899"
- "8080:8080" # unused but mapped for debugging
- "8888:8888" # jupyter notebook
- "8013:8013" # http
- "8043:8043" # https
- "2222:2222" # receptor foo node
redis_1:
image: redis:latest
networks:
- awx_default
container_name: tools_redis_1
volumes:
- "../../redis/redis.conf:/usr/local/etc/redis/redis.conf"
- "redis_socket_1:/var/run/redis/:rw"
entrypoint: ["redis-server"]
command: ["/usr/local/etc/redis/redis.conf"]
# A useful container that simply passes through log messages to the console
# helpful for testing awx/tower logging
# logstash:
# build:
# context: ./docker-compose
# dockerfile: Dockerfile-logstash
postgres:
image: postgres:12
container_name: tools_postgres_1
environment:
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_USER: awx
POSTGRES_DB: awx
POSTGRES_PASSWORD: KkjRxHIqHonEdhybonFU
networks:
- awx_default
volumes:
- "awx_db:/var/lib/postgresql/data"
receptor-hop:
image:
quay.io/ansible/receptor:v1.2.1 user: root
container_name: tools_receptor_hop
hostname: receptor-hop
command: 'receptor --config /etc/receptor/receptor.conf'
depends_on:
- awx_1
networks:
- awx_default
ports:
- "5555:5555"
volumes:
- "../../docker-compose/_sources/receptor/receptor-hop.conf:/etc/receptor/receptor.conf"
receptor-1:
image: "
quay.io/awx/awx_devel:19.5.1"
user: "0"
container_name: tools_receptor_1
hostname: receptor-1
command: 'receptor --config /etc/receptor/receptor.conf'
environment:
RECEPTORCTL_SOCKET: /var/run/awx-receptor/receptor.sock
depends_on:
- receptor-hop
networks:
- awx_default
volumes:
- "../../docker-compose/_sources/receptor/receptor-worker-1.conf:/etc/receptor/receptor.conf"
- "/sys/fs/cgroup:/sys/fs/cgroup"
- "../../docker-compose/_sources/receptor/work_public_key.pem:/etc/receptor/work_public_key.pem"
privileged: true
receptor-2:
image: "
quay.io/awx/awx_devel:19.5.1"
user: "0"
container_name: tools_receptor_2
hostname: receptor-2
command: 'receptor --config /etc/receptor/receptor.conf'
environment:
RECEPTORCTL_SOCKET: /var/run/awx-receptor/receptor.sock
depends_on:
- receptor-hop
networks:
- awx_default
volumes:
- "../../docker-compose/_sources/receptor/receptor-worker-2.conf:/etc/receptor/receptor.conf"
- "/sys/fs/cgroup:/sys/fs/cgroup"
- "../../docker-compose/_sources/receptor/work_public_key.pem:/etc/receptor/work_public_key.pem"
privileged: true
volumes:
awx_db:
name: tools_awx_db
redis_socket_1:
name: tools_redis_socket_1
networks:
awx_default: