# This docker-compose file can be used to bring up an example instance of oauth2-proxy # for manual testing and exploration of features. # Alongside OAuth2-Proxy, this file also starts Dex to act as the identity provider # and HTTPBin as an example upstream. # # This can either be created using docker-compose # docker-compose -f docker-compose-traefik.yaml # Or: # make traefik- (eg. make traefik-up, make traefik-down) # # Access one of the following URLs to initiate a login flow: # - http://oauth2-proxy.localtest.me # - http://httpbin.localtest.me # - http://dex.localtest.me/dex # # The OAuth2 Proxy itself is hosted at http://oauth2-proxy.localtest.me services: oauth2-proxy: container_name: oauth2-proxy image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.4 command: --config /oauth2-proxy.cfg ports: [] hostname: oauth2-proxy volumes: - "./oauth2-proxy-traefik.cfg:/oauth2-proxy.cfg" restart: unless-stopped networks: oauth2-proxy: {} dex: {} depends_on: - dex - httpbin dex: container_name: dex image: ghcr.io/dexidp/dex:v2.45.1 command: dex serve /dex.yaml hostname: dex volumes: - "./dex-traefik.yaml:/dex.yaml" restart: unless-stopped networks: dex: {} httpbin: container_name: httpbin image: kennethreitz/httpbin ports: [] networks: httpbin: {} # Reverse proxy gateway: container_name: traefik image: traefik:v3.7.10 volumes: - "./traefik:/etc/traefik" ports: - "80:80" - "9090:8080" depends_on: - oauth2-proxy networks: oauth2-proxy: {} httpbin: {} dex: aliases: - dex.localtest.me networks: dex: {} httpbin: {} oauth2-proxy: {}