--- version: '3' services: greenwave: &greenwave build: . image: greenwave user: ${DEV_USER_ID:-1000} working_dir: /src env_file: ["docker/dev.env"] command: ["bash", "-c", "./docker/dev-command.sh"] volumes: - ./:/src:ro,z - ./docker/home:/home/dev:rw,z - ./docker/greenwave-settings.py:/etc/greenwave/settings.py:ro,z - ./conf/policies/:/etc/greenwave/policies/:ro,z - ./conf/subject_types/:/etc/greenwave/subject_types/:ro,z ports: - 127.0.0.1:8080:8080 healthcheck: &greenwave-healthcheck test: >- /src/docker/docker-entrypoint.sh python -c 'import requests; requests.get("http://127.0.0.1:8080/healthcheck").raise_for_status();' interval: 1s timeout: 5s retries: 30 depends_on: - memcached - resultsdb - waiverdb - statsd statsd: image: quay.io/prometheus/statsd-exporter ports: - 127.0.0.1:9102:9102 # http - 127.0.0.1:9125:9125 # statsd resultsdb-db: &resultsdb-db image: postgres:14.7-alpine restart: always env_file: ["docker/resultsdb-db.env"] healthcheck: <<: *greenwave-healthcheck test: "pg_isready -U postgres || exit 1" resultsdb: image: quay.io/factory2/resultsdb environment: - GREENWAVE_LISTENERS=${GREENWAVE_LISTENERS:-1} command: ["bash", "-c", "/start.sh"] volumes: - ./docker/home:/home/dev:rw,z - ./docker/resultsdb-command.sh:/start.sh:ro,z - ./docker/resultsdb-settings.py:/etc/resultsdb/settings.py:ro,z - ./docker/resultsdb.conf:/etc/httpd/conf.d/resultsdb.conf:ro,z ports: - 127.0.0.1:5001:5001 healthcheck: <<: *greenwave-healthcheck test: >- /app/entrypoint.sh python -c 'import requests; requests.get("http://127.0.0.1:5001/api/v2.0/healthcheck").raise_for_status();' depends_on: - resultsdb-db waiverdb-db: <<: *resultsdb-db env_file: ["docker/waiverdb-db.env"] waiverdb: image: quay.io/factory2/waiverdb env_file: ["docker/waiverdb.env"] environment: - GREENWAVE_LISTENERS=${GREENWAVE_LISTENERS:-1} command: ["bash", "-c", "/start.sh"] volumes: - ./docker/home:/home/dev:rw,z - ./docker/waiverdb-command.sh:/start.sh:ro,z - ./docker/waiverdb-settings.py:/etc/waiverdb/settings.py:ro,z - ./docker/client_secrets.json:/etc/secret/client_secrets.json:ro,z ports: - 127.0.0.1:5004:5004 user: '0' healthcheck: <<: *greenwave-healthcheck test: >- /app/entrypoint.sh python -c 'import requests; requests.get("http://127.0.0.1:5004/healthcheck").raise_for_status();' depends_on: - waiverdb-db memcached: image: "quay.io/factory2/memcached" ports: - 127.0.0.1:11211:11211 resultsdb-listener: <<: *greenwave image: greenwave command: - "gunicorn" - "--reload" - "--workers=2" - "--threads=2" - "--bind=0.0.0.0:8082" - "--access-logfile=-" - "--enable-stdio-inheritance" - "greenwave.resultsdb_listener:app" ports: - 127.0.0.1:8082:8082 deploy: replicas: ${GREENWAVE_LISTENERS:-1} waiverdb-listener: <<: *greenwave image: greenwave command: - "gunicorn" - "--reload" - "--workers=2" - "--threads=2" - "--bind=0.0.0.0:8083" - "--access-logfile=-" - "--enable-stdio-inheritance" - "greenwave.waiverdb_listener:app" ports: - 127.0.0.1:8083:8083 deploy: replicas: ${GREENWAVE_LISTENERS:-1} umb: image: images.paas.redhat.com/exd-sp-guild-c3i/umb:latest restart: unless-stopped command: - "java" - "-jar" - "/usr/share/umb/umb.jar" - "--spring.config.location=/etc/umb.yml" volumes: - ./docker/umb.yml:/etc/umb.yml:ro,z ports: - 127.0.0.1:5671:5671 # amqp - 127.0.0.1:61612:61612 # stomp deploy: replicas: ${GREENWAVE_LISTENERS:-1} jaeger: image: quay.io/jaegertracing/all-in-one:latest ports: - 127.0.0.1:6831:6831/udp - 127.0.0.1:6832:6832/udp - 127.0.0.1:5778:5778 - 127.0.0.1:16686:16686 - 127.0.0.1:4317:4317 - 127.0.0.1:4318:4318 - 127.0.0.1:14250:14250 - 127.0.0.1:14268:14268 - 127.0.0.1:14269:14269 - 127.0.0.1:9411:9411 environment: - COLLECTOR_ZIPKIN_HOST_PORT=:9411 - COLLECTOR_OTLP_ENABLED=true networks: default: driver: bridge