mirror of
				https://github.com/traefik/traefik.git
				synced 2025-10-31 16:31:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ```yaml tab="Docker & Swarm"
 | |
| # Dynamic Configuration
 | |
| labels:
 | |
|   - "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && PathPrefix(`/traefik`)"
 | |
|   - "traefik.http.routers.dashboard.service=api@internal"
 | |
|   - "traefik.http.routers.dashboard.middlewares=auth"
 | |
|   - "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | |
| ```
 | |
| 
 | |
| ```yaml tab="Docker (Swarm)"
 | |
| # Dynamic Configuration
 | |
| deploy:
 | |
|   labels:
 | |
|     - "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && PathPrefix(`/traefik`)"
 | |
|     - "traefik.http.routers.dashboard.service=api@internal"
 | |
|     - "traefik.http.routers.dashboard.middlewares=auth"
 | |
|     - "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | |
|     # Dummy service for Swarm port detection. The port can be any valid integer value.
 | |
|     - "traefik.http.services.dummy-svc.loadbalancer.server.port=9999"
 | |
| ```
 | |
| 
 | |
| ```yaml tab="Kubernetes CRD"
 | |
| apiVersion: traefik.io/v1alpha1
 | |
| kind: IngressRoute
 | |
| metadata:
 | |
|   name: traefik-dashboard
 | |
| spec:
 | |
|   routes:
 | |
|   - match: Host(`traefik.example.com`) && PathPrefix(`/traefik`)
 | |
|     kind: Rule
 | |
|     services:
 | |
|     - name: api@internal
 | |
|       kind: TraefikService
 | |
|     middlewares:
 | |
|       - name: auth
 | |
| ---
 | |
| apiVersion: traefik.io/v1alpha1
 | |
| kind: Middleware
 | |
| metadata:
 | |
|   name: auth
 | |
| spec:
 | |
|   basicAuth:
 | |
|     secret: secretName # Kubernetes secret named "secretName"
 | |
| ```
 | |
| 
 | |
| ```yaml tab="Consul Catalog"
 | |
| # Dynamic Configuration
 | |
| - "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && PathPrefix(`/traefik`)"
 | |
| - "traefik.http.routers.dashboard.service=api@internal"
 | |
| - "traefik.http.routers.dashboard.middlewares=auth"
 | |
| - "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | |
| ```
 | |
| 
 | |
| ```yaml tab="File (YAML)"
 | |
| # Dynamic Configuration
 | |
| http:
 | |
|   routers:
 | |
|     dashboard:
 | |
|       rule: Host(`traefik.example.com`) && PathPrefix(`/traefik`)
 | |
|       service: api@internal
 | |
|       middlewares:
 | |
|         - auth
 | |
|   middlewares:
 | |
|     auth:
 | |
|       basicAuth:
 | |
|         users:
 | |
|           - "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"
 | |
|           - "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"
 | |
| ```
 | |
| 
 | |
| ```toml tab="File (TOML)"
 | |
| # Dynamic Configuration
 | |
| [http.routers.my-api]
 | |
|   rule = "Host(`traefik.example.com`) && PathPrefix(`/traefik`)"
 | |
|   service = "api@internal"
 | |
|   middlewares = ["auth"]
 | |
| 
 | |
| [http.middlewares.auth.basicAuth]
 | |
|   users = [
 | |
|     "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/",
 | |
|     "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0",
 | |
|   ]
 | |
| ```
 |