services: reproxy: image: umputun/reproxy:master container_name: reproxy hostname: reproxy ports: - "80:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./web:/web environment: - TZ=America/Chicago - LISTEN=0.0.0.0:8080 - DOCKER_ENABLED=true - DOCKER_AUTO=true - ASSETS_LOCATION=/web - DEBUG=true - HEADER= X-Frame-Options:SAMEORIGIN, X-XSS-Protection:1; mode=block;, Content-Security-Policy:default-src 'self'; style-src 'self' 'unsafe-inline'; # automatic destination, will be mapped for ^/api/svc1/(.*) svc1: image: ghcr.io/umputun/echo-http hostname: svc1 container_name: svc1 command: --message="hello world from svc1" # automatic destination, will be mapped for ^/api/svc2/(.*) svc2: image: ghcr.io/umputun/echo-http hostname: svc2 container_name: svc2 command: --message="hello world from svc2" # explicit destination, routing match defined by lables whoami: image: 'containous/whoami' hostname: whoami container_name: whoami labels: reproxy.server: '*' reproxy.route: '^/whoami/(.*)' reproxy.dest: '/$$1'