(oauth2) { handle /oauth2/* { reverse_proxy oauth2-proxy:4180 } handle { forward_auth oauth2-proxy:4180 { uri /oauth2/auth copy_headers Authorization copy_headers X-Auth-Request-Email @bad status 4xx handle_response @bad { redir https://{args[0]}/oauth2/start } } {block} } } registry.cortex.consider-funding.de { import oauth2 registry.cortex.consider-funding.de { reverse_proxy https://ai-registry.neukiefer.de { header_up Host ai-registry.neukiefer.de header_up Authorization {env.REGISTRY_DOWNSTREAM_AUTH} } } } pdf.consider-it.de { import oauth2 pdf.consider-it.de { reverse_proxy http://stirling-pdf:8080 } } pseudo.cortex.consider-funding.de { handle /health { reverse_proxy http://transcript-pseudomizer-frontend:5000 } import oauth2 pseudo.cortex.consider-funding.de { reverse_proxy http://transcript-pseudomizer-frontend:5000 } } enricher.cortex.consider-funding.de { import oauth2 enricher.cortex.consider-funding.de { reverse_proxy https://ai-enricher.neukiefer.de { header_up Host ai-enricher.neukiefer.de header_up Authorization {env.ENRICHER_DOWNSTREAM_AUTH} } } } # cf-journex (static files from shared volume) journex.cortex.consider-funding.de { import oauth2 journex.cortex.consider-funding.de { route { @apiExact path /api redir @apiExact /api/ handle_path /api/* { reverse_proxy journex-backend:7000 } handle /uploads/* { reverse_proxy journex-backend:7000 } root * /srv/journex try_files {path} /index.html file_server } } }