# docker-compose override file to enable HTTP traffic monitoring between ui, haystack-api and elasticsearch using mitmproxy. # After startup you can find mitmweb under localhost:8081 in your browser. # Usage: docker-compose -f docker-compose[-gpu].yml -f docker-compose.mitm.yml up version: "3" services: haystack-api: environment: - HTTP_PROXY=http://mitmproxy:8080 - HTTPS_PROXY=https://mitmproxy:8080 - REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt - DOCUMENTSTORE_PARAMS_USE_SYSTEM_PROXY=true command: "/bin/bash -c 'sleep 10 && wget -e http_proxy=mitmproxy:8080 -O /usr/local/share/ca-certificates/mitmproxy.crt http://mitm.it/cert/pem && update-ca-certificates && gunicorn rest_api.application:app -b 0.0.0.0 -k uvicorn.workers.UvicornWorker --workers 2 --timeout 180'" depends_on: - mitmproxy ui: environment: - HTTP_PROXY=http://mitmproxy:8080 - HTTPS_PROXY=https://mitmproxy:8080 - REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt command: "/bin/bash -c 'sleep 15 && wget -e http_proxy=mitmproxy:8080 -O /usr/local/share/ca-certificates/mitmproxy.crt http://mitm.it/cert/pem && update-ca-certificates && python -m streamlit run ui/webapp.py'" depends_on: - mitmproxy mitmproxy: image: "mitmproxy/mitmproxy:latest" ports: - 8080:8080 - 8081:8081 command: "mitmweb --web-host 0.0.0.0 --set block_global=false"