I've been struggling with creating a reverse proxy with wild card certificates for my local home lab.ย I tried Wolfgang's solution using duckdns.org with Nginx but it never works.ย I tried TechnoTim's solution but got confused.ย I have a sysadmin and developer background and need help (step-by-step) using traefik in docker.ย Thank you!
@dirtyharrywk welcome to the forums! Traefik and Docker with LetsEncrypt can definitely make you pull your hair out when getting started. Here are a couple of posts that I have written. I am not sure if you have looked at these as of yet. Let me know where you are running into issues. Normally it is always something small that trips many up with this.
If you want to go the Traefik route:
If you want to try Nginx Proxy Manager (it is the easiest since it has a GUI):
Hopefully we can work through the issues 👍ย
@dirtyharrywk Also keep in mind, you will need to have a real registered domain out there that is reachable with DNS. What DNS provider are you using?
I'm confused on the step "Redirect to HTTPS".ย Where does that go?ย The traefik.yml file already has "middlewares" for HTTP.
traefik.yml:
providers: docker: exposedByDefault: false file: filename: /etc/traefik/dynamic.yml http: routers: dashboard: rule: Host(`traefik.MY_DOMAIN.com`) service: api@internal middlewares: - traefik-auth tls: certResolver: dns-cloudflare middlewares: traefik-auth: basicAuth: users: - "admin:admin" certificatesResolvers: dns-cloudflare: acme: email: MY_EMAIL_ADDRESS storage: /letsencrypt/acme.json dnsChallenge: provider: cloudflare delayBeforeCheck: 0 caServer: https://acme-v02.api.letsencrypt.org/directory
traefik.yml:
providers: docker: exposedByDefault: false file: filename: /etc/traefik/dynamic.yml http: routers: dashboard: rule: Host(`traefik.MY_DOMAIN.com`) service: api@internal middlewares: - traefik-auth tls: certResolver: dns-cloudflare middlewares: traefik-auth: basicAuth: users: - "admin:admin" redirect-to-https: redirectScheme: scheme: https certificatesResolvers: dns-cloudflare: acme: email: MY_EMAIL storage: /letsencrypt/acme.json dnsChallenge: provider: cloudflare delayBeforeCheck: 0 caServer: https://acme-v02.api.letsencrypt.org/directory
ย
log file is displaying this:
2024/02/20 17:21:51 command traefik error: field not found, node: middlewares