config CORS fixed key to one line helper prints clean up logs improved validations again validations fix rewritten flask and node.js solution added subscription route auth flow diagrams
33 lines
1.5 KiB
Plaintext
33 lines
1.5 KiB
Plaintext
# Enable Traefik for this container
|
|
traefik.enable=true
|
|
|
|
# Docker Network
|
|
traefik.docker.network=traefik
|
|
|
|
# Route requests based on Host
|
|
traefik.http.routers.flic-webhook-webpush.rule=Host(`webpush.virtonline.eu`)
|
|
# Specify the entrypoint ('websecure' for HTTPS)
|
|
traefik.http.routers.flic-webhook-webpush.entrypoints=web-secure
|
|
traefik.http.routers.flic-webhook-webpush.tls=true
|
|
traefik.http.routers.flic-webhook-webpush.tls.certResolver=default
|
|
# Link the router to the service defined below
|
|
traefik.http.routers.flic-webhook-webpush.service=flic-webhook-webpush
|
|
|
|
# Point the service to the container's port
|
|
traefik.http.services.flic-webhook-webpush.loadbalancer.server.port=3000
|
|
|
|
# Middleware CORS
|
|
traefik.http.middlewares.cors-headers.headers.accesscontrolallowmethods=POST,GET
|
|
traefik.http.middlewares.cors-headers.headers.accesscontrolalloworiginlist=https://game-timer.virtonline.eu
|
|
traefik.http.middlewares.cors-headers.headers.accesscontrolallowheaders=Content-Type,Authorization,button-name,button-battery-level,timestamp
|
|
traefik.http.middlewares.cors-headers.headers.accesscontrolallowcredentials=true
|
|
traefik.http.middlewares.cors-headers.headers.accesscontrolmaxage=600
|
|
traefik.http.middlewares.cors-headers.headers.addvaryheader=true
|
|
|
|
# Middleware Rate Limiting
|
|
traefik.http.middlewares.flic-ratelimit.ratelimit.average=10
|
|
traefik.http.middlewares.flic-ratelimit.ratelimit.burst=20
|
|
|
|
# Apply both middlewares to the router (comma-separated list)
|
|
traefik.http.routers.flic-webhook-webpush.middlewares=cors-headers,flic-ratelimit
|