59 lines
1.4 KiB
TOML
59 lines
1.4 KiB
TOML
[entryPoints]
|
|
[entryPoints.web]
|
|
address = ":80"
|
|
[entryPoints.web.http.redirections.entryPoint]
|
|
to = "websecure"
|
|
scheme = "https"
|
|
|
|
[entryPoints.websecure]
|
|
address = ":443"
|
|
|
|
[providers.docker]
|
|
endpoint = "unix:///var/run/docker.sock"
|
|
exposedByDefault = false
|
|
|
|
[certificatesResolvers.le.acme]
|
|
email = "your-email@example.com"
|
|
storage = "/data/acme.json"
|
|
[certificatesResolvers.le.acme.tlsChallenge]
|
|
|
|
[api]
|
|
dashboard = true
|
|
|
|
[ping] # Health check
|
|
entryPoint = "websecure"
|
|
|
|
[http.routers.api]
|
|
rule = "PathPrefix(`/api`)"
|
|
service = "api"
|
|
entryPoints = ["websecure"]
|
|
|
|
[http.services.api.loadBalancer]
|
|
[[http.services.api.loadBalancer.servers]]
|
|
url = "http://app:${PORT}"
|
|
|
|
# Added for websocket
|
|
[http.services.app.loadBalancer]
|
|
sticky = true
|
|
[[http.services.app.loadBalancer.servers]]
|
|
url = "http://app:${PORT}"
|
|
|
|
# Added for websocket
|
|
[http.routers.app]
|
|
rule = "Host(`${HOST}`)"
|
|
entrypoints = ["websecure"]
|
|
service = "app"
|
|
|
|
[http.routers.app.tls]
|
|
certresolver = "le"
|
|
|
|
[http.routers.app.middlewares]
|
|
# Enable websockets
|
|
- "websocket"
|
|
|
|
[http.middlewares]
|
|
[http.middlewares.websocket.headers]
|
|
accessControlAllowHeaders = ["Origin", "Content-Type", "Accept", "Authorization"]
|
|
accessControlAllowMethods = ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]
|
|
accessControlAllowOrigin = ["*"]
|
|
accessControlExposeHeaders = ["Content-Length", "Content-Range"] |