version: '3' services: httpx: environment: - HTTPBIN_HOST=nghttp2 - HTTPX_HTTP_PROXY=http://proxyuser:password@httpproxy:3128 - HTTPX_HTTPS_PROXY=http://proxyuser:password@httpproxy:3128 - HTTPX_SOCKS4_PROXY=socks4://user4:@socksproxy:8080 - HTTPX_SOCKS4A_PROXY=socks4a://user4:@socksproxy:8080 - HTTPX_SOCKS5_PROXY=socks5://user5:password@socksproxy:8080 - HTTPX_SSH_PROXY=ssh://sshproxy:22 - N=6 # minitest workers - MT_CPU=6 # minitest workers - CI=1 - GEM_HOME=/usr/local/bundle - BUNDLE_PATH=/usr/local/bundle - BUNDLE_SILENCE_ROOT_WARNING=1 - BUNDLE_APP_CONFIG=/usr/local/bundle - HTTPBIN_ALTSVC_HOST=another2 - AWS_DEFAULT_REGION=us-east-1 - AWS_ACCESS_KEY_ID=test - AWS_SECRET_ACCESS_KEY=test - AMZ_HOST=aws:4566 image: ruby:alpine privileged: true depends_on: - httpproxy - socksproxy - sshproxy - nghttp2 - aws - ws-echo-server volumes: - ./:/home links: - "altsvc-nghttp2:another2" - "aws:test.aws" entrypoint: /home/test/support/ci/build.sh sshproxy: build: context: . dockerfile: ./test/support/ssh/Dockerfile volumes: - ./test/support/ssh:/config depends_on: - nghttp2 socksproxy: image: qautomatron/docker-3proxy ports: - "8080:8080" - "3129:3129" volumes: - ./test/support/ci:/etc/3proxy httpproxy: image: sameersbn/squid:3.5.27-2 ports: - "3128:3128" volumes: - ./test/support/ci/squid.conf:/etc/squid/squid.conf - ./test/support/ci/proxy-users:/etc/squid/proxy-users command: -d 3 nghttp2: image: registry.gitlab.com/honeyryderchuck/httpx/nghttp2:2 ports: - 80:80 - 443:443 depends_on: - httpbin entrypoint: /usr/local/bin/nghttpx volumes: - ./test/support/ci:/home command: --conf /home/nghttp.conf --no-ocsp --frontend 0.0.0.0,80;no-tls --frontend 0.0.0.0,443 altsvc-nghttp2: image: registry.gitlab.com/honeyryderchuck/httpx/nghttp2:2 ports: - 81:80 - 444:443 depends_on: - httpbin entrypoint: /usr/local/bin/nghttpx volumes: - ./test/support/ci:/home command: --conf /home/nghttp.conf --no-ocsp --frontend 0.0.0.0,80;no-tls --frontend 0.0.0.0,443 --altsvc "h2,443,nghttp2" httpbin: environment: - DEBUG=True image: citizenstig/httpbin command: gunicorn --bind=0.0.0.0:8000 --workers=6 --access-logfile - --error-logfile - --log-level debug --capture-output httpbin:app aws: image: localstack/localstack environment: - SERVICES=s3 - HOSTNAME=aws - DEBUG=1 ports: - 4566:4566 volumes: - ./test/support/ci/aws:/docker-entrypoint-initaws.d ws-echo-server: environment: - PORT=80 ports: - 8083:80 image: jmalloc/echo-server