96 lines
2.5 KiB
YAML
96 lines
2.5 KiB
YAML
# HexaHost GameCloud — Traefik dynamic configuration
|
|
# Shared middleware and optional file-based routers for the control plane stack.
|
|
# Primary routing is defined via Docker labels in deploy/compose/compose.prod.yml.
|
|
|
|
http:
|
|
middlewares:
|
|
gamecloud-redirect-https:
|
|
redirectScheme:
|
|
scheme: https
|
|
permanent: true
|
|
|
|
gamecloud-api-headers:
|
|
headers:
|
|
stsSeconds: 31536000
|
|
stsIncludeSubdomains: true
|
|
stsPreload: true
|
|
contentTypeNosniff: true
|
|
frameDeny: true
|
|
referrerPolicy: strict-origin-when-cross-origin
|
|
customRequestHeaders:
|
|
X-Forwarded-Proto: https
|
|
|
|
gamecloud-web-headers:
|
|
headers:
|
|
stsSeconds: 31536000
|
|
stsIncludeSubdomains: true
|
|
contentTypeNosniff: true
|
|
frameDeny: true
|
|
referrerPolicy: strict-origin-when-cross-origin
|
|
customRequestHeaders:
|
|
X-Forwarded-Proto: https
|
|
|
|
gamecloud-rate-limit:
|
|
rateLimit:
|
|
average: 100
|
|
burst: 200
|
|
period: 1s
|
|
|
|
routers:
|
|
# File-provider routers — useful when Traefik runs outside the compose project
|
|
# or when you prefer centralised routing. Disable duplicate Docker labels if you
|
|
# rely exclusively on these definitions.
|
|
gamecloud-api:
|
|
rule: Host(`api.example.net`)
|
|
entryPoints:
|
|
- websecure
|
|
service: gamecloud-api
|
|
middlewares:
|
|
- gamecloud-api-headers
|
|
- gamecloud-rate-limit
|
|
tls:
|
|
certResolver: letsencrypt
|
|
|
|
gamecloud-web:
|
|
rule: Host(`panel.example.net`)
|
|
entryPoints:
|
|
- websecure
|
|
service: gamecloud-web
|
|
middlewares:
|
|
- gamecloud-web-headers
|
|
tls:
|
|
certResolver: letsencrypt
|
|
|
|
services:
|
|
gamecloud-api:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://api:3001
|
|
passHostHeader: true
|
|
healthCheck:
|
|
path: /api/v1/health/live
|
|
interval: 15s
|
|
timeout: 5s
|
|
|
|
gamecloud-web:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://web:3000
|
|
passHostHeader: true
|
|
healthCheck:
|
|
path: /de
|
|
interval: 15s
|
|
timeout: 5s
|
|
|
|
tls:
|
|
options:
|
|
default:
|
|
minVersion: VersionTLS12
|
|
cipherSuites:
|
|
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
|
|
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
|
|
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
|
|
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
|
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
|
|
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
|