version: '3.6' # Docker json-file rotation — quiet tier (~10MB cap per container). x-logging-quiet: &fibitex-logging-quiet driver: json-file options: max-size: "5m" max-file: "2" <% app_host = "#{@config['app']['subdomain']}.#{@config['app']['domain']}" shahoo_host = @config['app']['shahoo_host'].to_s.strip shahoo_host = "#{@config['app']['shahoo_subdomain'] || 'shahoo'}.#{@config['app']['domain']}" if shahoo_host.empty? %> services: gateway: logging: *fibitex-logging-quiet restart: always image: envoyproxy/envoy:v1.10.0 volumes: - ../config/gateway:/etc/envoy/ command: /usr/local/bin/envoy -l info -c /etc/envoy/envoy.yaml labels: - "traefik.http.routers.gateway-<%= @name %>.rule=Host(`<%= app_host %>`) && (PathPrefix(`/api`) || PathPrefix(`/admin`) || PathPrefix(`/assets/`))" - "traefik.enable=true" - "traefik.http.services.gateway-<%= @name %>.loadbalancer.server.port=8099" <%- if @config['ssl']['enabled'] -%> - "traefik.http.routers.gateway-<%= @name %>.entrypoints=websecure" - "traefik.http.routers.gateway-<%= @name %>.tls=true" - "traefik.http.routers.gateway-<%= @name %>.tls.certresolver=letsencrypt" <%- else -%> - "traefik.http.routers.gateway-<%= @name %>.entrypoints=web" <%- end -%> # WS0.2 — Rango on shahoo.* (same Envoy cluster as www) - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.rule=Host(`<%= shahoo_host %>`) && PathPrefix(`/api/v2/ranger`)" - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.priority=250" - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.service=gateway-<%= @name %>" <%- if @config['ssl']['enabled'] -%> - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.entrypoints=websecure" - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.tls=true" - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.tls.certresolver=letsencrypt" <%- else -%> - "traefik.http.routers.gateway-shahoo-ranger-<%= @name %>.entrypoints=web" <%- end -%>