httpx/docker-compose.yml

120 lines
2.9 KiB
YAML

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