ginskill-init 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/.wrangler/cache/pages.json +4 -0
  2. package/.wrangler/cache/wrangler-account.json +6 -0
  3. package/DEVELOPMENT.md +510 -0
  4. package/README.md +104 -0
  5. package/agents/developer.md +56 -0
  6. package/agents/frontend-design.md +69 -0
  7. package/agents/mobile-reviewer.md +36 -0
  8. package/agents/review-code.md +49 -0
  9. package/agents/security-scanner.md +50 -0
  10. package/agents/tester.md +72 -0
  11. package/bin/cli.js +461 -0
  12. package/landing/ai-build-ai.png +0 -0
  13. package/landing/index.html +1495 -0
  14. package/landing/logo.png +0 -0
  15. package/package.json +37 -0
  16. package/skills/active-life-dev/SKILL.md +157 -0
  17. package/skills/active-life-dev/docs/auth.md +187 -0
  18. package/skills/active-life-dev/docs/customers.md +216 -0
  19. package/skills/active-life-dev/docs/integrations.md +209 -0
  20. package/skills/active-life-dev/docs/inventory.md +192 -0
  21. package/skills/active-life-dev/docs/modules.md +181 -0
  22. package/skills/active-life-dev/docs/orders.md +180 -0
  23. package/skills/active-life-dev/docs/patterns.md +319 -0
  24. package/skills/active-life-dev/docs/products.md +216 -0
  25. package/skills/active-life-dev/docs/schema.md +502 -0
  26. package/skills/active-life-dev/docs/setup.md +169 -0
  27. package/skills/active-life-dev/docs/vouchers.md +144 -0
  28. package/skills/ai-asset-generator/SKILL.md +247 -0
  29. package/skills/ai-asset-generator/docs/gen-image.md +274 -0
  30. package/skills/ai-asset-generator/docs/genvideo.md +341 -0
  31. package/skills/ai-asset-generator/docs/remove-background.md +19 -0
  32. package/skills/ai-asset-generator/lib/bg-remove.mjs +34 -0
  33. package/skills/ai-asset-generator/lib/env.mjs +48 -0
  34. package/skills/ai-asset-generator/lib/kie-client.mjs +100 -0
  35. package/skills/ai-build-ai/SKILL.md +127 -0
  36. package/skills/ai-build-ai/docs/agent-teams.md +293 -0
  37. package/skills/ai-build-ai/docs/checkpointing.md +161 -0
  38. package/skills/ai-build-ai/docs/create-agent.md +399 -0
  39. package/skills/ai-build-ai/docs/create-mcp.md +395 -0
  40. package/skills/ai-build-ai/docs/create-skill.md +299 -0
  41. package/skills/ai-build-ai/docs/headless-mode.md +614 -0
  42. package/skills/ai-build-ai/docs/hooks.md +578 -0
  43. package/skills/ai-build-ai/docs/memory-claude-md.md +375 -0
  44. package/skills/ai-build-ai/docs/output-styles.md +208 -0
  45. package/skills/ai-build-ai/docs/overview.md +162 -0
  46. package/skills/ai-build-ai/docs/permissions.md +391 -0
  47. package/skills/ai-build-ai/docs/plugins.md +396 -0
  48. package/skills/ai-build-ai/docs/sandbox.md +262 -0
  49. package/skills/ai-build-ai/docs/team-lead-workflow.md +648 -0
  50. package/skills/ant-design/SKILL.md +323 -0
  51. package/skills/ant-design/docs/components.md +160 -0
  52. package/skills/ant-design/docs/data-entry.md +406 -0
  53. package/skills/ant-design/docs/display.md +594 -0
  54. package/skills/ant-design/docs/feedback.md +451 -0
  55. package/skills/ant-design/docs/key-components.md +414 -0
  56. package/skills/ant-design/docs/navigation.md +310 -0
  57. package/skills/ant-design/docs/pro-components.md +543 -0
  58. package/skills/ant-design/docs/setup.md +213 -0
  59. package/skills/ant-design/docs/theme.md +265 -0
  60. package/skills/flutter-performance/SKILL.md +803 -0
  61. package/skills/flutter-performance/references/flutter-patterns.md +595 -0
  62. package/skills/icon-generator/SKILL.md +270 -0
  63. package/skills/mobile-app-review/SKILL.md +321 -0
  64. package/skills/mobile-app-review/references/apple-review.md +132 -0
  65. package/skills/mobile-app-review/references/google-play-review.md +203 -0
  66. package/skills/mongodb/SKILL.md +667 -0
  67. package/skills/mongodb/references/mongoose-patterns.md +368 -0
  68. package/skills/nestjs-architecture/SKILL.md +1086 -0
  69. package/skills/nestjs-architecture/references/advanced-patterns.md +590 -0
  70. package/skills/performance/SKILL.md +509 -0
  71. package/skills/react-fsd-architecture/SKILL.md +693 -0
  72. package/skills/react-fsd-architecture/references/fsd-patterns.md +747 -0
  73. package/skills/react-native-expo/SKILL.md +128 -0
  74. package/skills/react-native-expo/references/data-layer.md +252 -0
  75. package/skills/react-native-expo/references/design-system.md +252 -0
  76. package/skills/react-native-expo/references/navigation.md +199 -0
  77. package/skills/react-native-expo/references/performance.md +229 -0
  78. package/skills/react-native-expo/references/platform-services.md +179 -0
  79. package/skills/react-native-expo/references/state-management.md +209 -0
  80. package/skills/react-native-expo/references/ui-patterns.md +301 -0
  81. package/skills/react-query/SKILL.md +685 -0
  82. package/skills/react-query/references/query-patterns.md +365 -0
  83. package/skills/review-code/SKILL.md +374 -0
  84. package/skills/review-code/references/clean-code-principles.md +395 -0
  85. package/skills/review-code/references/frontend-patterns.md +136 -0
  86. package/skills/review-code/references/nestjs-patterns.md +184 -0
  87. package/skills/security-scanner/SKILL.md +366 -0
  88. package/skills/security-scanner/references/nestjs-security.md +260 -0
  89. package/skills/security-scanner/references/nextjs-security.md +201 -0
  90. package/skills/security-scanner/references/react-native-security.md +199 -0
  91. package/skills/traefik/SKILL.md +105 -0
  92. package/skills/traefik/docs/advanced-routing.md +186 -0
  93. package/skills/traefik/docs/auth-providers.md +137 -0
  94. package/skills/traefik/docs/cicd-devops.md +396 -0
  95. package/skills/traefik/docs/core-config.md +171 -0
  96. package/skills/traefik/docs/distributed-config.md +96 -0
  97. package/skills/traefik/docs/docker-compose.md +182 -0
  98. package/skills/traefik/docs/ha-performance.md +177 -0
  99. package/skills/traefik/docs/kubernetes.md +278 -0
  100. package/skills/traefik/docs/middleware.md +205 -0
  101. package/skills/traefik/docs/monitoring.md +357 -0
  102. package/skills/traefik/docs/security.md +391 -0
  103. package/skills/traefik/docs/tls-acme.md +155 -0
  104. package/skills/ui-ux-pro-max/SKILL.md +377 -0
  105. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  106. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  107. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  108. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  109. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  110. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  111. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  112. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  113. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  114. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  115. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  116. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  117. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  118. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  119. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  120. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  121. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  122. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  123. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  124. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  125. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  126. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  127. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  128. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: traefik
3
+ description: |
4
+ **Traefik Reverse Proxy Expert**: Production patterns for configuring Traefik v3 — routing, middleware, TLS/ACME, Docker Compose, Kubernetes CRDs, load balancing, observability, security hardening, CI/CD, and DevOps.
5
+ - MANDATORY TRIGGERS: traefik, reverse proxy, ingress controller, load balancer, traefik config, traefik middleware, traefik router, traefik service, traefik docker, traefik kubernetes, traefik TLS, traefik ACME, let's encrypt, traefik dashboard, traefik labels, IngressRoute, ForwardAuth, rate limit traefik, traefik compose, traefik helm, traefik CRD, traefik websocket, traefik grpc, traefik TCP, traefik UDP, traefik canary, traefik blue-green, traefik security headers, traefik monitoring, traefik prometheus
6
+ - Use this skill when building, configuring, deploying, debugging, or reviewing Traefik proxy setups in any environment (Docker, Kubernetes, bare metal, cloud).
7
+ allowed-tools: Read, Grep, Glob, Bash, Write, Edit
8
+ argument-hint: "[topic: config|middleware|tls|docker|k8s|security|cicd|monitoring|auth|tcp-udp|grpc|websocket|ha|performance]"
9
+ ---
10
+
11
+ # Traefik v3 Expert Guide
12
+
13
+ Traefik is a cloud-native reverse proxy and load balancer. Current stable: **v3.6.x**.
14
+
15
+ ## Quick Reference
16
+
17
+ | Topic | Doc |
18
+ |-------|-----|
19
+ | Core config (static/dynamic, entrypoints, routers, services) | `docs/core-config.md` |
20
+ | Middleware (headers, rate-limit, auth, compress, chain) | `docs/middleware.md` |
21
+ | TLS, ACME, Let's Encrypt, mTLS | `docs/tls-acme.md` |
22
+ | Docker Compose patterns | `docs/docker-compose.md` |
23
+ | Kubernetes CRDs (IngressRoute, Middleware, TLSOption) | `docs/kubernetes.md` |
24
+ | Security hardening | `docs/security.md` |
25
+ | CI/CD, blue-green, canary, GitOps | `docs/cicd-devops.md` |
26
+ | Monitoring, metrics, tracing, logging | `docs/monitoring.md` |
27
+ | ForwardAuth (Authelia, Authentik, OAuth2 Proxy) | `docs/auth-providers.md` |
28
+ | TCP/UDP, gRPC, WebSocket routing | `docs/advanced-routing.md` |
29
+ | High availability & performance tuning | `docs/ha-performance.md` |
30
+ | Distributed config (Redis, Consul, etcd) | `docs/distributed-config.md` |
31
+
32
+ ## Architecture Model
33
+
34
+ ```
35
+ Internet → EntryPoints → Routers (rules + middleware) → Services → Backends
36
+ ↑ ↑ ↑
37
+ Static config Dynamic config Dynamic config
38
+ ```
39
+
40
+ **Static config** (loaded at startup): entrypoints, providers, cert resolvers, API/dashboard.
41
+ Set via `traefik.yml`, CLI flags, or env vars.
42
+
43
+ **Dynamic config** (hot-reloaded): routers, services, middlewares, TLS options.
44
+ Provided by: Docker labels, Kubernetes CRDs, file provider, Consul, etcd, Redis.
45
+
46
+ ## Key Patterns
47
+
48
+ ### Docker: Expose a service
49
+ ```yaml
50
+ labels:
51
+ - "traefik.enable=true"
52
+ - "traefik.http.routers.myapp.rule=Host(`app.example.com`)"
53
+ - "traefik.http.routers.myapp.entrypoints=websecure"
54
+ - "traefik.http.routers.myapp.tls.certresolver=letsencrypt"
55
+ - "traefik.http.services.myapp.loadbalancer.server.port=8080"
56
+ ```
57
+
58
+ ### Kubernetes: IngressRoute
59
+ ```yaml
60
+ apiVersion: traefik.io/v1alpha1
61
+ kind: IngressRoute
62
+ metadata:
63
+ name: myapp
64
+ spec:
65
+ entryPoints: [websecure]
66
+ routes:
67
+ - match: Host(`app.example.com`)
68
+ kind: Rule
69
+ services:
70
+ - name: myapp-svc
71
+ port: 80
72
+ tls:
73
+ certResolver: letsencrypt
74
+ ```
75
+
76
+ ### Security headers (apply globally)
77
+ ```yaml
78
+ http:
79
+ middlewares:
80
+ security-headers:
81
+ headers:
82
+ browserXssFilter: true
83
+ contentTypeNosniff: true
84
+ frameDeny: true
85
+ stsIncludeSubdomains: true
86
+ stsPreload: true
87
+ stsSeconds: 31536000
88
+ ```
89
+
90
+ ## When Using This Skill
91
+
92
+ 1. Read the relevant `docs/` file based on the user's topic
93
+ 2. Provide production-ready configs, not toy examples
94
+ 3. Always include security best practices
95
+ 4. Specify Traefik v3 syntax (v2 syntax differs)
96
+ 5. Warn about common pitfalls (exposed dashboard, no rate limiting, TLS misconfig)
97
+
98
+ ## Common Pitfalls
99
+
100
+ - **Never** use `api.insecure: true` in production
101
+ - **Always** set `exposedByDefault: false` for Docker provider
102
+ - **Always** configure `forwardedHeaders.trustedIPs` when behind a load balancer
103
+ - Mount Docker socket **read-only** (`:ro`) or use a socket proxy
104
+ - Wildcard certs require DNS-01 challenge (HTTP-01 won't work)
105
+ - Set `sniStrict: true` to reject connections without matching SNI
@@ -0,0 +1,186 @@
1
+ # Advanced Routing: TCP, UDP, gRPC, WebSocket
2
+
3
+ ## TCP Routing
4
+
5
+ ```yaml
6
+ # Static config - entrypoints
7
+ entryPoints:
8
+ mysql:
9
+ address: ":3306"
10
+ postgres:
11
+ address: ":5432"
12
+ ssh:
13
+ address: ":2222"
14
+
15
+ # Dynamic config
16
+ tcp:
17
+ routers:
18
+ mysql-router:
19
+ entryPoints: [mysql]
20
+ rule: "HostSNI(`db.example.com`)"
21
+ service: mysql-service
22
+ tls:
23
+ passthrough: true # Don't terminate TLS
24
+
25
+ ssh-router:
26
+ entryPoints: [ssh]
27
+ rule: "HostSNI(`*`)" # No SNI for plain TCP
28
+ service: ssh-service
29
+
30
+ postgres-tls:
31
+ entryPoints: [postgres]
32
+ rule: "HostSNI(`postgres.example.com`)"
33
+ service: postgres-service
34
+ tls:
35
+ certResolver: letsencrypt
36
+
37
+ services:
38
+ mysql-service:
39
+ loadBalancer:
40
+ servers:
41
+ - address: "10.0.0.20:3306"
42
+ - address: "10.0.0.21:3306"
43
+
44
+ ssh-service:
45
+ loadBalancer:
46
+ servers:
47
+ - address: "10.0.0.30:22"
48
+
49
+ postgres-service:
50
+ loadBalancer:
51
+ servers:
52
+ - address: "10.0.0.40:5432"
53
+ ```
54
+
55
+ **TLS passthrough**: Traefik reads SNI from ClientHello without terminating TLS.
56
+ **Plain TCP**: Use `HostSNI(`*`)` as catch-all (no TLS = no SNI).
57
+
58
+ ## UDP Routing
59
+
60
+ ```yaml
61
+ entryPoints:
62
+ dns-udp:
63
+ address: ":53/udp"
64
+ wireguard:
65
+ address: ":51820/udp"
66
+
67
+ udp:
68
+ routers:
69
+ dns-router:
70
+ entryPoints: [dns-udp]
71
+ service: dns-service
72
+
73
+ wireguard-router:
74
+ entryPoints: [wireguard]
75
+ service: wireguard-service
76
+
77
+ services:
78
+ dns-service:
79
+ loadBalancer:
80
+ servers:
81
+ - address: "10.0.0.50:53"
82
+ - address: "10.0.0.51:53"
83
+
84
+ wireguard-service:
85
+ loadBalancer:
86
+ servers:
87
+ - address: "10.0.0.60:51820"
88
+ ```
89
+
90
+ UDP has no path/SNI matching — it's pure load balancing.
91
+
92
+ ## gRPC Routing
93
+
94
+ ```yaml
95
+ http:
96
+ routers:
97
+ grpc-router:
98
+ entryPoints: [websecure]
99
+ rule: "Host(`grpc.example.com`)"
100
+ service: grpc-service
101
+ tls:
102
+ certResolver: letsencrypt
103
+
104
+ services:
105
+ grpc-service:
106
+ loadBalancer:
107
+ servers:
108
+ - url: "h2c://grpc-backend:50051" # HTTP/2 cleartext
109
+ healthCheck:
110
+ path: /grpc.health.v1.Health/Check
111
+ scheme: h2c
112
+ interval: 10s
113
+ ```
114
+
115
+ Docker labels:
116
+ ```yaml
117
+ labels:
118
+ - "traefik.enable=true"
119
+ - "traefik.http.routers.grpc.rule=Host(`grpc.example.com`)"
120
+ - "traefik.http.routers.grpc.entrypoints=websecure"
121
+ - "traefik.http.routers.grpc.tls.certresolver=letsencrypt"
122
+ - "traefik.http.services.grpc.loadbalancer.server.port=50051"
123
+ - "traefik.http.services.grpc.loadbalancer.server.scheme=h2c"
124
+ ```
125
+
126
+ ### gRPC-Web (browser clients)
127
+ ```yaml
128
+ http:
129
+ middlewares:
130
+ grpc-web:
131
+ grpcWeb:
132
+ allowOrigins:
133
+ - "https://app.example.com"
134
+ ```
135
+
136
+ ## WebSocket
137
+
138
+ WebSocket works out of the box — no special config needed. The HTTP Upgrade mechanism is handled transparently.
139
+
140
+ ```yaml
141
+ http:
142
+ routers:
143
+ ws-router:
144
+ entryPoints: [websecure]
145
+ rule: "Host(`ws.example.com`)"
146
+ service: ws-service
147
+ tls:
148
+ certResolver: letsencrypt
149
+
150
+ services:
151
+ ws-service:
152
+ loadBalancer:
153
+ servers:
154
+ - url: "http://websocket-backend:8080"
155
+ sticky:
156
+ cookie:
157
+ name: ws_affinity
158
+ secure: true
159
+ httpOnly: true
160
+ ```
161
+
162
+ **Important**: Extend timeouts for long-lived WebSocket connections:
163
+ ```yaml
164
+ # traefik.yml (static)
165
+ serversTransport:
166
+ forwardingTimeouts:
167
+ dialTimeout: 30s
168
+ responseHeaderTimeout: 0s # 0 = no timeout
169
+ idleConnTimeout: 90s
170
+ ```
171
+
172
+ Sticky sessions are recommended for multi-instance WebSocket backends.
173
+
174
+ ## Server-Sent Events (SSE)
175
+
176
+ SSE works automatically. Ensure compress middleware excludes `text/event-stream`:
177
+ ```yaml
178
+ http:
179
+ middlewares:
180
+ compress:
181
+ compress:
182
+ excludedContentTypes:
183
+ - text/event-stream
184
+ ```
185
+
186
+ Set `responseHeaderTimeout: 0s` to prevent premature connection closure.
@@ -0,0 +1,137 @@
1
+ # ForwardAuth with Identity Providers
2
+
3
+ ## Authelia
4
+
5
+ ```yaml
6
+ http:
7
+ middlewares:
8
+ authelia:
9
+ forwardAuth:
10
+ address: "http://authelia:9091/api/authz/forward-auth"
11
+ trustForwardHeader: true
12
+ authResponseHeaders:
13
+ - Remote-User
14
+ - Remote-Groups
15
+ - Remote-Name
16
+ - Remote-Email
17
+
18
+ authelia-basic:
19
+ forwardAuth:
20
+ address: "http://authelia:9091/api/authz/forward-auth/basic"
21
+ trustForwardHeader: true
22
+ authResponseHeaders:
23
+ - Remote-User
24
+ - Remote-Groups
25
+ ```
26
+
27
+ Docker label:
28
+ ```yaml
29
+ - "traefik.http.routers.myapp.middlewares=authelia@file"
30
+ ```
31
+
32
+ ## Authentik
33
+
34
+ ```yaml
35
+ http:
36
+ middlewares:
37
+ authentik:
38
+ forwardAuth:
39
+ address: "http://authentik-outpost:9000/outpost.goauthentik.io/auth/traefik"
40
+ trustForwardHeader: true
41
+ authResponseHeaders:
42
+ - X-authentik-username
43
+ - X-authentik-groups
44
+ - X-authentik-email
45
+ - X-authentik-name
46
+ - X-authentik-uid
47
+ - X-authentik-jwt
48
+ - X-authentik-meta-jwks
49
+ - X-authentik-meta-outpost
50
+ - X-authentik-meta-provider
51
+ - X-authentik-meta-app
52
+ - X-authentik-meta-version
53
+ ```
54
+
55
+ ## OAuth2 Proxy
56
+
57
+ Docker Compose:
58
+ ```yaml
59
+ services:
60
+ oauth2-proxy:
61
+ image: quay.io/oauth2-proxy/oauth2-proxy:latest
62
+ environment:
63
+ - OAUTH2_PROXY_PROVIDER=google
64
+ - OAUTH2_PROXY_CLIENT_ID=xxx.apps.googleusercontent.com
65
+ - OAUTH2_PROXY_CLIENT_SECRET=secret
66
+ - OAUTH2_PROXY_COOKIE_SECRET=32-byte-base64-encoded
67
+ - OAUTH2_PROXY_EMAIL_DOMAINS=example.com
68
+ - OAUTH2_PROXY_HTTP_ADDRESS=0.0.0.0:4180
69
+ - OAUTH2_PROXY_REVERSE_PROXY=true
70
+ - OAUTH2_PROXY_SET_XAUTHREQUEST=true
71
+ networks: [proxy]
72
+ ```
73
+
74
+ Middleware:
75
+ ```yaml
76
+ http:
77
+ middlewares:
78
+ oauth2-proxy:
79
+ forwardAuth:
80
+ address: "http://oauth2-proxy:4180/oauth2/auth"
81
+ trustForwardHeader: true
82
+ authResponseHeaders:
83
+ - X-Auth-Request-User
84
+ - X-Auth-Request-Email
85
+ - X-Auth-Request-Access-Token
86
+ - Set-Cookie
87
+ ```
88
+
89
+ ## Keycloak (via OAuth2 Proxy)
90
+
91
+ ```yaml
92
+ services:
93
+ oauth2-proxy:
94
+ image: quay.io/oauth2-proxy/oauth2-proxy:latest
95
+ environment:
96
+ - OAUTH2_PROXY_PROVIDER=keycloak-oidc
97
+ - OAUTH2_PROXY_OIDC_ISSUER_URL=https://keycloak.example.com/realms/myrealm
98
+ - OAUTH2_PROXY_CLIENT_ID=traefik
99
+ - OAUTH2_PROXY_CLIENT_SECRET=secret
100
+ - OAUTH2_PROXY_COOKIE_SECRET=32-byte-base64
101
+ - OAUTH2_PROXY_EMAIL_DOMAINS=*
102
+ - OAUTH2_PROXY_HTTP_ADDRESS=0.0.0.0:4180
103
+ - OAUTH2_PROXY_REVERSE_PROXY=true
104
+ - OAUTH2_PROXY_SET_XAUTHREQUEST=true
105
+ - OAUTH2_PROXY_PASS_ACCESS_TOKEN=true
106
+ ```
107
+
108
+ ## BasicAuth (simple)
109
+
110
+ Generate password: `htpasswd -nB admin`
111
+
112
+ ```yaml
113
+ http:
114
+ middlewares:
115
+ basic-auth:
116
+ basicAuth:
117
+ users:
118
+ - "admin:$2y$05$hash..."
119
+ removeHeader: true
120
+ ```
121
+
122
+ Docker label (escape `$` with `$$`):
123
+ ```yaml
124
+ - "traefik.http.middlewares.auth.basicauth.users=admin:$$2y$$05$$hash..."
125
+ ```
126
+
127
+ ## DigestAuth
128
+
129
+ ```yaml
130
+ http:
131
+ middlewares:
132
+ digest-auth:
133
+ digestAuth:
134
+ users:
135
+ - "admin:traefik:hash"
136
+ removeHeader: true
137
+ ```