33 lines
1.0 KiB
YAML
33 lines
1.0 KiB
YAML
# Exposes Traefik's own API/dashboard (api@internal is a built-in service,
|
|||
|
|
# not something defined below) on traefik.pivoine.art, gated by vpn-only.
|
||
|
|
# Path prefixes match Traefik's own documented self-referencing pattern:
|
||
|
|
# /api serves the JSON pulsenode's traefik widget reads, /dashboard serves
|
||
|
|
# the browsable UI.
|
||
|
|
http:
|
||
|
|
middlewares:
|
||
|
|
traefik-redirect-web-secure:
|
||
|
|
redirectScheme:
|
||
|
|
scheme: https
|
||
|
|
|
||
|
|
routers:
|
||
|
|
traefik-dashboard-web:
|
||
|
|
rule: "Host(`traefik.pivoine.art`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
|
||
|
|
entrypoints:
|
||
|
|
- web
|
||
|
|
middlewares:
|
||
|
|
- vpn-only@file
|
||
|
|
- traefik-redirect-web-secure
|
||
|
|
service: api@internal
|
||
|
|
|
||
|
|
traefik-dashboard-web-secure:
|
||
|
|
rule: "Host(`traefik.pivoine.art`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
|
||
|
|
entrypoints:
|
||
|
|
- web-secure
|
||
|
|
tls:
|
||
|
|
certResolver: resolver
|
||
|
|
middlewares:
|
||
|
|
- vpn-only@file
|
||
|
|
- security-headers@file
|
||
|
|
- no-index@file
|
||
|
|
service: api@internal
|