Hello!
I am running traefik 3.0.4 via docker compose and its is all working fine so far. I also use authentik to protect some applications (OAuth2), also working fine. Now I wanted to use authentik to protect a simple site using forwardAuth and I am stuck. Traefik throws the error:
ERR error="field not found, node: middelwares" container=homer providerName=docker
What did I miss?
Here is my traefik.yaml:
global:
checkNewVersion: false
sendAnonymousUsage: false
entryPoints:
web:
address: :80
http:
redirections:
entryPoint:
to: websecure
scheme: https
forwardedHeaders:
insecure: true
proxyProtocol:
insecure: true
websecure:
address: :443
forwardedHeaders:
insecure: true
proxyProtocol:
insecure: true
certificatesResolvers:
staging:
acme:
email: someone@somewhere
storage: /etc/traefik/certs/acme.json
caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
httpChallenge:
entryPoint: web
production:
acme:
email: someone@somewhere
storage: /etc/traefik/certs/acme.json
caServer: "https://acme-v02.api.letsencrypt.org/directory"
httpChallenge:
entryPoint: web
providers:
docker:
exposedByDefault: false
file:
directory: /etc/traefik/conf/
watch: true
My dynamic config (headers.yml) dropped into /etc/traefik/conf/
http:
middlewares:
authentik:
forwardAuth:
address: http://authentik-server:9000/outpost.goauthentik.io/auth/traefik
trustForwardHeader: true
authResponseHeaders:
- X-authentik-username
- X-authentik-groups
- X-authentik-email
- X-authentik-name
- X-authentik-uid
- X-authentik-jwt
- X-authentik-meta-jwks
- X-authentik-meta-outpost
- X-authentik-meta-provider
- X-authentik-meta-app
- X-authentik-meta-version
and finally the docker compose of the application:
---
networks:
proxy:
external: true
services:
homer:
image: docker.io/b4bz/homer:v24.05.1
container_name: homer
restart: always
volumes:
- /home/user/container_storage/homer/assets:/www/assets
user: 1000:1000
environment:
- INIT_ASSETS=1
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.homer.entrypoints=web, websecure"
- "traefik.http.routers.homer.rule=Host(`domain.tld`)"
- "traefik.http.routers.homer.tls=true"
- "traefik.http.routers.homer.tls.certresolver=production"
- "traefik.http.routers.homer.middelwares=authentik@file"
I am grateful for any input. Thank you.