---
version: '2'
services:
  # Primary AWX Development Container
  awx:
    user: ${CURRENT_UID}
    image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
    container_name: tools_awx_1
    hostname: awx
    command: launch_awx.sh
    environment:
      CURRENT_UID:
      OS:
      SDB_HOST: 0.0.0.0
      SDB_PORT: 7899
      AWX_GROUP_QUEUES: tower
    ports:
      - "8888:8888"
      - "8080:8080"
      - "8013:8013"
      - "8043:8043"
      - "6899:6899"  # default port range for sdb-listen
      - "7899-7999:7899-7999"  # default port range for sdb-listen
    links:
      - postgres
      - redis
    #   - sync
    # volumes_from:
    #   - sync
    working_dir: "/awx_devel"
    volumes:
      - "../:/awx_devel"
      - "../awx/projects/:/var/lib/awx/projects/"
      - "./redis/redis_socket_standalone:/var/run/redis/"
      - "./docker-compose/supervisor.conf:/etc/supervisord.conf"
    privileged: true
    tty: true
  # 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 Database Container
  postgres:
    image: postgres:12
    container_name: tools_postgres_1
    environment:
      POSTGRES_HOST_AUTH_METHOD: trust
    volumes:
      - "awx_db:/var/lib/postgresql/data"
  redis:
    image: redis:latest
    container_name: tools_redis_1
    user: ${CURRENT_UID}
    volumes:
      - "./redis/redis.conf:/usr/local/etc/redis/redis.conf"
      - "./redis/redis_socket_standalone:/var/run/redis/"
    command: ["/usr/local/etc/redis/redis.conf"]

volumes:
  awx_db:
