I've never posted a comment on a youtube channel, but you deserved it. After long 8 years (Hours) doing research, you solved my problem in video with 40 minutes. So many thanks.
HAHAHA you gotta be kidding me. I spent the 2 last weeks with your previous video and other resources trying to set up Traefik and the rest of my homelab. I literally closed the YT video minutes ago as I was finally able to make everything work. Before going to bed, I decided to check a video from my feed to cool down and what do I see if its not this taunting title XD. Anyway, I'll watch it later as it may allow me to enhance my fresh configuration. Thanks for that 😊
Spectacular video. I appreciate that you have a corroborating document site for the stuff you reference in here, as well. I also appreciate how meticulous you are in the details and troubleshooting. Thanks a ton, Tim.
Greatly appreciate the little detail explanations. I’d done the wild card certs before on my home lab, but this is filling in several little knowledge holes in my mind. Excellent content
Thank you so much for the updated tutorial. Not sure if you got my email about the last one not working but this one works now. Tip for anyone with the certs not loading: just force recreate the container and it should load. I think this happens because the first time the certs are getting created but not read, and the second time it can actually read them.
It's a shame that TH-cam only allows for me to like this video once. This was a big upgrade from your last "SSL Everywhere" video. Thanks for taking us on your journey.
@@SenorHamburgler I like to tinker and spin up new things quite often, NPM is great for ease of use. Traefik is just more powerful and diverse, especially with docker, kubernetes and promox. Nothing wrong with NPM, just having the knowledge of how traffic work is good on the cv as well. :)
Would you consider adding another video to a Traefik series where you integration Authentik with Traefik ? I know you did a video about Authelia sometime back but it would great to see an update with Authentik and an outpost with Traefik. Also I love this video especially from the self hosted side and not having to have private records in an external DNS. But is your Traefik container reachable from the outside or do we just need Let's encrypt to find a valid domain for DNS auth and then it will issue the wildcard cert to the traefik container. Love you content
Great video, Tim! Proxmox has its own ACME integration, so I personally prefer that way (because traefik is running as a VM on my Proxmox, so I want to prevent a race condition when the VM is down, Proxmox is not available through Traefik But for anything else - Traefik is great
I had the same thought about Proxmox. Any TLS termination with the right certificates should be made directly on Proxmox anyway. If you want to be agressive, this should be the same for most services as well (internal certificates with local CA between internal containers to reverse proxy // letsencrypt certificates on the reverse proxy to the rest of the world)
@@xDrShadowxcan you explain a little more this solution for Proxmox? If It uses its own ACME for talking to Let's Encrypt, then we need to create its CNAME on CF instead of Pihole. Right?
Appreciate the update. Another great video that explains what is needed to be done, how to do it and why it has to be done. Your videos are so much more than simple 'follow me' instructions and really do help to provide some understanding. Thank you.
I'm a web dev and let's say that I watch, read and write a whole lot of tutorials/documents. The quality level of your tutorials is up there man, I learn more than what you teach from your videos. You do deserve the compliment.
Took me a while to figure out but, note to self: using .yaml extension will break things.... switched it back to yml and it worked just like the video. Great tutorial!
Thanks for this. Real easy to follow and worked on my first attempt. I am testing this as a replacement to Nginx Proxy Manager. No nice text based config, but NPM is 100x easier and faster to setup and add sites. Good to have a back up though!
I followed this tutorial but I just keep on getting TRAEFIK DEFAULT CERT. I have everything the same except pihole. I use adguard and I have configure my domains in there. It resolve but does not get the lets encrypt cert
Great informative, educational video. This video helped me so much to get traefik working. Very detailed vid and additional documentation provided. Keep up the great work. Many thanks.
this is perfect timing i just rewatched your old traefik video yesterday cuz i’m having some weird connection issues with my traefik server that i setup last year that has been working great for me. i might re-spin up my server with traefik 3 this weekend to see if resolves my issues. thanks tim!
Had to say this... It's got to be absolutely one the best well rounded , well thought, in depth traefik install walk-throughd I have come accross thus far,.., thanks and well done Tim..
Interesting tutorial! I think it'll really help some people in setting Traefik up, which at first use, can be a bit daunting. However, Traefik now officially supports HTTP3, so I think you should open both ports 443 tcp as well as udp in your compose file. Make sure to update your firewall settings / port forwards as well. - 80:80 - 443:443/tcp - 443:443/udp Also, one of the strengths of Traefik is that after adding the "config" volume once, you shouldn't have to run "docker compose up" when changing config.yaml. Lastly, I personally like to also use logs, so choose to add this volume as well: "- /opt/traefik/logs:/logs:rw" and try to name compose files "compose.yml", as it saves a few keystrokes.
Thanks Tim! this video really helpful as I was looking for your previous video to troubleshoot certificate error I encountered since last week, then manage to replace with this setup 👍
sigh why why i will probably add 200k views i love that you did i will buy a new cluster set up again man i learned a sh!t ton from your videos and even landed a network gig cuz of how much i dabbled thanks alot
Everything went well for me until around the 27 minute mark. I followed along well until there; keep getting can't connect to that domain error. Double and triple checked the steps like crazy. Dunno what I'm doing wrong.
A few notes: You are using both cli config and YAML config on the Traefik container. Move that all into the YAML file. Also you shouldn't be specifying your email for cloudflare, you should be using a scoped taken instead. Also at this point you should be enabling strictSNI and a minimum TLS version of 1.2
Hi Tim! Great tutorial! I've followed the steps and wondering if you could give some insights as to why I can't open the traefik dashboard after setting local dns using pihole. I can get pings from the url, and when I use curl, it says Moved Permanently. Hoping you could see this. Thanks Tim!
Thank you for your great content. I am trying to get Traefik and Cloudflare running in Proxmox LXC helper scripts. The chalenge I am haveing is getting the cloudflare api token running in the LXC because enviroment variables are a bit different than in docker secrets. Would you consider doing a video on getting this setup and running?
anotther great tutorial. you mention difference in Docker Swarm. I am running a docker swarm in my homelab so would love to be pointed to documentation for that config. Also can I setup 2 certs in Traefik?
Hey, This is super interesting and your acknowledgement and sort of rant about the docker secret feature, Awesome ! I have a question though: Say you are using tailscale currently, which doesn't support subdomains ? The 2 level subdomain thingy that you did, using cloudflare. Would that even work ? Could I use a WireGuard server that I deploy on DigitalOcean
Great video! But afer watching it, I applied the ideas to configure Caddy. Traefik is excellent, but the configuration file is a bit complex and lengthy.
Thanks for the local only explanation. Every one of these I've seen before expects you to want to directly expose things externally. Yes I want to access from outside, but only after I've connected to WG/OVPN One question, can this be done without the local subdomain? Would you just need to remove the . local subdomain from the examples provided?
I had to remove the basic auth and .env because the traefik container would not move past the login prompt for the dashboard even though I put the user name and password in correctly, but I would love to see video on how to get the dashboard working with Authentik. 👍
Do you use traefik for externally accessible services? How do you typically separate those? Different docker hosts? How do you do the networking since you don't need to modify the internal DNS?
I'm confused with all the .local references. If you have a domain name and Cloudflare, why wouldn't you just put a wildcard CNAME on your Cloudflare DNS settings? This is the the part that confused me so much doing the records on pi-hole.
If you are familiar with cloudflare, could you please tell me: - Can I buy a domain from any provider and register it (transfer) it for cloudflare and manage it as if i bought it from them? so I can use their tunnel service and other features? - Do you think cloudflare tunnel is better than reverse proxy to expose your home server to public?
@@MKBUHDD I only can answer your first question. You can buy a domain nearly anywhere, you just have to set the nameserver in your dns settings (where your domain is) to the cloudflare nameservers shown in your account. After that you have the full experience of dns settings at cloudflare as far as I know.
I've been through these YT follow-along errors. It's literally the main job of network engineers to solve the problems you're going to run into. Time to strap in, find the problem or just restart from clean install. Both work out in the end.
This is great and all.... but only for internal services. If you want to have a public-facing service, you can't do a second-level wildcard cert going through cloudflare without paying for a cert from them.
Is this considered an update your other guide on setting up Traefik on Portainer? Also, can I follow this guide for my reverse proxy to use with Pterodactyl? I know your Pterodactyl guide is from a couple years ago so I assume that’s why it links to the older Traefik+Portainer guide. Thanks!
Hi, first off, thank you so much for this tutorial. Nice and easy to follow! That said I am having an issue I hope you can help with. I'm using a wildcard A record for my addresses through cloudflare and I'm not using PiHole at all. When I try to configure Traefik for workloads outside of docker using your template with my own information I get "Internal Server Error" when trying to load the webpage. Is this because i'm not using PiHole? If so, what do I need to change to fix the error?
Thanks for this, very informative! At 11:07 you say "we need to create a docker network called proxy", but I couldn't see where it's done... Anything special about it? Which driver does it use?
Great setup to locally access it, but what if I wanted to access some of these services remotely aswell. Can I use and modify the same setup or do I need to make an entire different setup?
Finally a video that shows you how to set up traefik successfully. Just one question that i dont think you covered. I have to servers both running docker. How do i run only one instance of traefik for both.
Hi how do you use separate instances of traefik to talk to one another like how you had in your home lab? Could you do a tutorial on it? like connecting docker to kubernetest to another kubernetes cluster.
The version at the start of the docker-compose.yaml designates the spec you're using. This does matter, some properties may behave differently or not exist in older versions, I've run into this particularly with swarm related properties.
@@nospamas8926 when I updated my system I had to install docker compose instead of docker-compose as I was getting errors. After I installed docker compose I got errors 'version is obsolete' so I removed it from all of my docker-compose.yamls
Great video thanks for the files as well. What if I do not want to use an internal DNS resolver, but use cloudflare can I do that also? As I do not mind using the internal urls to get to my services.
hi, thank you for the video! I did everything as shown. I have no errors / logs, all variables are correctly showing up in debug mode. My issue is I cant access traefik dashboard. it says 404 page not found when I do it via the domain that I gave, even when I try to access the dashboard using local ip address of my proxmox docker lxc container with port 80, 443 or 8080. I can't seem to resolve it, can you please suggest what should I do? I even changed traefik image from 3.0 to latest. I am out of options to try by searching online.
Is there a guide for creating a setup with some applications you want to expose to the public and some you want local only, and having wildcard certificates created for it all through traefik?
I would love to see a video covering the pros and cons of Traefik 3 vs caddy-proxy-manager vs nginx proxy manager. I thought Caddy was going to be the bees knees so I went that route for my homeserver. Pros: the label sections in the docker-compose.yml is self contained and no need for open ports on the host, and you can use any caddy directives you want. Cons: You have to have the the docker-compose.yml files have a default external network. For work I have had to use nginx proxy manager (npm). Pros: All done in a gui, all the configs are centralized in npm. It is easy to setup certs for containers available on the local network by using a duckdns with an IP set to your private netowork and you do not have to have an external network setup. Cons: You have to have open ports to all the services on the host.
The only thing I do not understand is how to get certs on multiple external apps. What would the config.yml look like for 2 or 3 services, not just proxmox?
I don't think the DNS part tells the CA to check those specific DNS servers. That would be a huge security risk. It simply tells traefik to use those DNS to verify that the TXT records are indeed visible globally before saying the CA to proceed with the next step (ACME protocol). What public DNS the CA queries from is not publicly documented
Whats the biggest new thing here, compared to v2? How bad of an idea would it be to just upgrade? At first glance i haven't noticed that at least the important settings changed that much
Great video, but doesn't seem to work for me.. Once I get to the DNS part and setup the record with cloudflare.. it only ever points back to the TrueNas login page and I don't know what to do..
Hi Tim, thanks for sharing this amazing video. I only need more help setting up multiple routers in the config file you showed us. can you explain how I can add more external servers outside docker to my config. like my firewall interface, other homeserver, printers etc
Thank you for the update. Alongside yours, almost all others with Traefik are about the same age. Be a good idea to link to this new tutorial, on the old one from 2021.
Hey - can I use this Traefik container to cleanly reverse proxy containers in *other* docker environments? I could set it up in the 'external' way like you did for Proxmox, and I'm happy to do that, just wondering if there is maybe a cleaner way to do that (or even a second Traefik instance for the second docker environment..)
i followed to a tee.... i get the certificates with no problem (in the test mode) - but i can't access the traefik dashboard. I keep getting 404 page not found. I get it if i add :80 or :443. I have both ports exposed on by router
This is awesome! You managed to explain Traefik so clearly in just one video-amazing work! I do have a quick question: How can I access my services from outside my home network? I understand that I need to expose only port 443 on my router, but the issue is that the setup uses the local DNS server to resolve the domains to Traefik. Because of this, it doesn’t work outside my network. Thanks a ton for your hard work and for making Traefik so much easier to understand!
@@TechnoTimI set up an AAAA record in Cloudflare DNS pointing to my public IPv6 address since my router only allows port forwarding over IPv6, not IPv4. Honestly, it's better this way-no need for dynamic DNS since I can assign a static IPv6 address that’s unlikely to change.
I've never posted a comment on a youtube channel, but you deserved it. After long 8 years (Hours) doing research, you solved my problem in video with 40 minutes. So many thanks.
@@pedrohcunha6857 awesome! Nice work! Appreciate it!
Baby, wake up techno tim uploaded about traefik. It's time to update your homelab
I felt this so hard 🤣🤣🤣🤣
I upgrade all dockers once a week or so so Traefik is on v3.1.2 already 🙂
@@osaether his guide is perfect for learning and deploying
My point is: I haven't noticed any changes. Do I need to reconfigure anything?
I am a simple man. I see Techno Tim , I watch , I like.
I share
I simp
Just finished your traefik series when I saw you posted this, thank you for answering my subconscious prayer 🙏🏼 Keep up the great work!
HAHAHA you gotta be kidding me.
I spent the 2 last weeks with your previous video and other resources trying to set up Traefik and the rest of my homelab.
I literally closed the YT video minutes ago as I was finally able to make everything work.
Before going to bed, I decided to check a video from my feed to cool down and what do I see if its not this taunting title XD.
Anyway, I'll watch it later as it may allow me to enhance my fresh configuration. Thanks for that 😊
I can't fathom how easy you made this process, which I have been unable to do with other tutorials. You're doing great work Tim!
compare to the last video of Traefik , i had 0 issue
love how you explain things very easy and in simple way 😍
Spectacular video. I appreciate that you have a corroborating document site for the stuff you reference in here, as well. I also appreciate how meticulous you are in the details and troubleshooting. Thanks a ton, Tim.
Greatly appreciate the little detail explanations. I’d done the wild card certs before on my home lab, but this is filling in several little knowledge holes in my mind.
Excellent content
I've also learned way more than I was expecting
Thank you so much for the updated tutorial. Not sure if you got my email about the last one not working but this one works now. Tip for anyone with the certs not loading: just force recreate the container and it should load. I think this happens because the first time the certs are getting created but not read, and the second time it can actually read them.
Sweet, I used most of your last Traefik video (never got external access working, but internal worked just fine, and that's all I needed, really)
It's a shame that TH-cam only allows for me to like this video once. This was a big upgrade from your last "SSL Everywhere" video. Thanks for taking us on your journey.
**knows he can create/edit file in one step but prefers two steps** Bravo good sir! So satisfying...
This might be the definitive guide for Traefik 3
Perfect timing! I've been intersted in Traefik and leaving NPM. Thank you Tim!
Why may I ask? I use NPM and it's so seamless and easy
@@SenorHamburgler I like to tinker and spin up new things quite often, NPM is great for ease of use. Traefik is just more powerful and diverse, especially with docker, kubernetes and promox. Nothing wrong with NPM, just having the knowledge of how traffic work is good on the cv as well. :)
This video gave me the info I needed to finish my migration to Traefik. Thank you Techno Tim!
Bro I love you! Over the past weeks I made like three or for attemps to get this running. this vid did it in under an hour
@@metallusmelandril7380 thank you! Nice work!
Would you consider adding another video to a Traefik series where you integration Authentik with Traefik ? I know you did a video about Authelia sometime back but it would great to see an update with Authentik and an outpost with Traefik.
Also I love this video especially from the self hosted side and not having to have private records in an external DNS. But is your Traefik container reachable from the outside or do we just need Let's encrypt to find a valid domain for DNS auth and then it will issue the wildcard cert to the traefik container.
Love you content
Anonymous window in browser is always the good way for testing changes.
Also firefox containers work too.
Great video, Tim!
Proxmox has its own ACME integration, so I personally prefer that way (because traefik is running as a VM on my Proxmox, so I want to prevent a race condition when the VM is down, Proxmox is not available through Traefik
But for anything else - Traefik is great
I had the same thought about Proxmox. Any TLS termination with the right certificates should be made directly on Proxmox anyway. If you want to be agressive, this should be the same for most services as well (internal certificates with local CA between internal containers to reverse proxy // letsencrypt certificates on the reverse proxy to the rest of the world)
@@xDrShadowxcan you explain a little more this solution for Proxmox? If It uses its own ACME for talking to Let's Encrypt, then we need to create its CNAME on CF instead of Pihole. Right?
Appreciate the update. Another great video that explains what is needed to be done, how to do it and why it has to be done. Your videos are so much more than simple 'follow me' instructions and really do help to provide some understanding. Thank you.
I rarely watch 40 mins long videos thru the end. Awesome vidéo tutorial! Been searching a bit online how to do this. Can't wait to set that up :)
Awesome, thank you! That's a huge compliment!
I'm a web dev and let's say that I watch, read and write a whole lot of tutorials/documents. The quality level of your tutorials is up there man, I learn more than what you teach from your videos. You do deserve the compliment.
One of the best tutorials I've followed on youtube, perfect pacing and everything worked first time. Thank you!
Thank you. I've been meaning to do this in my homelab for some time. Now I have everything I need.
Took me a while to figure out but, note to self: using .yaml extension will break things.... switched it back to yml and it worked just like the video. Great tutorial!
Thanks for this. Real easy to follow and worked on my first attempt. I am testing this as a replacement to Nginx Proxy Manager. No nice text based config, but NPM is 100x easier and faster to setup and add sites. Good to have a back up though!
Thanks for the demo and info, once again super helpful documentation. Have a great day Techno Tim
Very comprehensive Tim, well done.
Thanks Tim! finally managed to get Traefik fully working in my homelab, great tutorial as always
I did all this over yesterday and today but with some help from Dockge. This was an awesome tutorial!
I followed this tutorial but I just keep on getting TRAEFIK DEFAULT CERT. I have everything the same except pihole. I use adguard and I have configure my domains in there. It resolve but does not get the lets encrypt cert
yes the same here, but Im using pi-hole. Anyone else? @TechnoTim can help us?
@@Synoap Yeah me too, did you find a fix?
Great informative, educational video. This video helped me so much to get traefik working. Very detailed vid and additional documentation provided. Keep up the great work. Many thanks.
this is perfect timing i just rewatched your old traefik video yesterday cuz i’m having some weird connection issues with my traefik server that i setup last year that has been working great for me. i might re-spin up my server with traefik 3 this weekend to see if resolves my issues. thanks tim!
Everything worked and now I have TLS on all my connections to my services. Thank you Tim
thx mate, im from Brazil and u saved my life! Great content, keep doing this job ur awesome! Again, thx a lot!!
Had to say this... It's got to be absolutely one the best well rounded , well thought, in depth traefik install walk-throughd I have come accross thus far,.., thanks and well done Tim..
Great content man, thanks a lot for your all hard work and efforts, much appreciated
Fantastic video. Love the section on verifying things were working.
Another great tutorial, Techno Tim. I even got this to run on my Docker Swarm (once I had the correct DNS name).
Have been running this setup for ages and can recommend it. you can add a star cname in your DNS server so you don't have to add entries every time
loved the whole idea of this, brilliant stuff Tim!
Interesting tutorial! I think it'll really help some people in setting Traefik up, which at first use, can be a bit daunting.
However, Traefik now officially supports HTTP3, so I think you should open both ports 443 tcp as well as udp in your compose file.
Make sure to update your firewall settings / port forwards as well.
- 80:80
- 443:443/tcp
- 443:443/udp
Also, one of the strengths of Traefik is that after adding the "config" volume once, you shouldn't have to run "docker compose up" when changing config.yaml.
Lastly, I personally like to also use logs, so choose to add this volume as well: "- /opt/traefik/logs:/logs:rw" and try to name compose files "compose.yml", as it saves a few keystrokes.
Thanks for the great tips! I will also add this to the docs!
Thanks Tim! this video really helpful as I was looking for your previous video to troubleshoot certificate error I encountered since last week, then manage to replace with this setup 👍
This was fantastic! I was literally looking at how to do this the other day and you've come up trumps yet again. Thank you 😊
Glad I could help!
sigh
why why
i will probably add 200k views
i love that you did
i will buy a new cluster set up
again
man
i learned a sh!t ton from your videos and even landed a network gig cuz of how much i dabbled
thanks alot
how does this video have only 3.4k views? I watched it like 6 times start to finish alone.
Great Video, any plans for a video on how to securely expose to the internet?
Everything went well for me until around the 27 minute mark. I followed along well until there; keep getting can't connect to that domain error.
Double and triple checked the steps like crazy. Dunno what I'm doing wrong.
30:00 you can just do > filename to blank out a filename from the terminal.
I am finally tackling the project of my homelab again and I am so grateful to see a new video for Traefik. These types of videos are such a huge help.
A few notes: You are using both cli config and YAML config on the Traefik container. Move that all into the YAML file. Also you shouldn't be specifying your email for cloudflare, you should be using a scoped taken instead. Also at this point you should be enabling strictSNI and a minimum TLS version of 1.2
Hi Tim! Great tutorial!
I've followed the steps and wondering if you could give some insights as to why I can't open the traefik dashboard after setting local dns using pihole.
I can get pings from the url, and when I use curl, it says Moved Permanently. Hoping you could see this. Thanks Tim!
Thank you for your great content. I am trying to get Traefik and Cloudflare running in Proxmox LXC helper scripts. The chalenge I am haveing is getting the cloudflare api token running in the LXC because enviroment variables are a bit different than in docker secrets. Would you consider doing a video on getting this setup and running?
anotther great tutorial. you mention difference in Docker Swarm. I am running a docker swarm in my homelab so would love to be pointed to documentation for that config. Also can I setup 2 certs in Traefik?
Tim, you make super great video's, in one word PERFECT!!
Just moved and am now motivated to unpack the homelab 😎
Hey, This is super interesting and your acknowledgement and sort of rant about the docker secret feature, Awesome !
I have a question though:
Say you are using tailscale currently, which doesn't support subdomains ? The 2 level subdomain thingy that you did, using cloudflare. Would that even work ? Could I use a WireGuard server that I deploy on DigitalOcean
Great video! But afer watching it, I applied the ideas to configure Caddy. Traefik is excellent, but the configuration file is a bit complex and lengthy.
Thank you! I wouldn't be able to configure it without this tutorial.
Thanks for the local only explanation. Every one of these I've seen before expects you to want to directly expose things externally. Yes I want to access from outside, but only after I've connected to WG/OVPN
One question, can this be done without the local subdomain? Would you just need to remove the . local subdomain from the examples provided?
I had to remove the basic auth and .env because the traefik container would not move past the login prompt for the dashboard even though I put the user name and password in correctly, but I would love to see video on how to get the dashboard working with Authentik. 👍
how you remove the basic auth ? I am also cannot login the dashboard either. my password generator is correct in .env file. please help..
same problem. i go into container and echo the credentials they show but i cant login. gonna have to lookup removing auth
Do you use traefik for externally accessible services? How do you typically separate those? Different docker hosts?
How do you do the networking since you don't need to modify the internal DNS?
@TechnoTim any chance of a video explaining how you configure cloudfare to point your local dns running in pi-hole?
I'm confused with all the .local references. If you have a domain name and Cloudflare, why wouldn't you just put a wildcard CNAME on your Cloudflare DNS settings? This is the the part that confused me so much doing the records on pi-hole.
Well, because he's doing this for LOCAL services only, not ones exposed to the Internet.
If you are familiar with cloudflare, could you please tell me:
- Can I buy a domain from any provider and register it (transfer) it for cloudflare and manage it as if i bought it from them? so I can use their tunnel service and other features?
- Do you think cloudflare tunnel is better than reverse proxy to expose your home server to public?
@@MKBUHDD I only can answer your first question. You can buy a domain nearly anywhere, you just have to set the nameserver in your dns settings (where your domain is) to the cloudflare nameservers shown in your account. After that you have the full experience of dns settings at cloudflare as far as I know.
@@BerliOfficial Thanks for the info, then I will look for a cheap domain. 👍🏻
great video, trouble shooting parts also helped very much!
Why don't you let out the pihole part and create the DNS records within cloudflare?
Because he's doing this locally? He's only using cloudflare for the DNS challenge. He was pretty clear about that.
Failed one more time :) , I can't understand what I am missing. Thank you for your efforts Tim :)
I've been through these YT follow-along errors. It's literally the main job of network engineers to solve the problems you're going to run into.
Time to strap in, find the problem or just restart from clean install. Both work out in the end.
Awesome video. Now how can I migrate this to a swarm environment with a public gateway node and the rest, master and workers, behind it?
This is great and all.... but only for internal services. If you want to have a public-facing service, you can't do a second-level wildcard cert going through cloudflare without paying for a cert from them.
will there be a similar update for the Kubernetes version?
Bro.... This tutorial was AMAZING!
Is this considered an update your other guide on setting up Traefik on Portainer? Also, can I follow this guide for my reverse proxy to use with Pterodactyl? I know your Pterodactyl guide is from a couple years ago so I assume that’s why it links to the older Traefik+Portainer guide. Thanks!
Great video, thank you Tim! Would you recommend switching to Traefik v3 if already have v2 setup working?
Excellent easy to follow tutorial , many thanks
Hi, first off, thank you so much for this tutorial. Nice and easy to follow! That said I am having an issue I hope you can help with.
I'm using a wildcard A record for my addresses through cloudflare and I'm not using PiHole at all. When I try to configure Traefik for workloads outside of docker using your template with my own information I get "Internal Server Error" when trying to load the webpage. Is this because i'm not using PiHole? If so, what do I need to change to fix the error?
I have this same issue. Did you ever find a solution?
@@lachlanvanderdrift7013 same here
Thanks for this, very informative!
At 11:07 you say "we need to create a docker network called proxy", but I couldn't see where it's done... Anything special about it? Which driver does it use?
It’s in there!
@@TechnoTim ah, 19:24 - it was so short, just "docker network create proxy", so I totally missed it... Thank you!
Great setup to locally access it, but what if I wanted to access some of these services remotely aswell. Can I use and modify the same setup or do I need to make an entire different setup?
Really helpful ! Thank you ! Could you make a video to explain how to convert that configuration to a docker swarm ?
Tim, can you do an updated video on installing and setting up TrueNAS Scale 24.04? A lot of things have changed.
Finally a video that shows you how to set up traefik successfully.
Just one question that i dont think you covered.
I have to servers both running docker. How do i run only one instance of traefik for both.
Hi how do you use separate instances of traefik to talk to one another like how you had in your home lab? Could you do a tutorial on it? like connecting docker to kubernetest to another kubernetes cluster.
Any reason to use this over nginx proxy manager?
Should we you docker compose instead of docker-compose? The version at the beginning would be unnecesary then
The version at the start of the docker-compose.yaml designates the spec you're using. This does matter, some properties may behave differently or not exist in older versions, I've run into this particularly with swarm related properties.
@@nospamas8926 when I updated my system I had to install docker compose instead of docker-compose as I was getting errors. After I installed docker compose I got errors 'version is obsolete' so I removed it from all of my docker-compose.yamls
@@nospamas8926 On the newer versions of Docker Compose (2.25+) the version line has been deprecated and will generate a warning if it exists.
Because swarm is the only thing that does not respect the compose spec. And yes, the version should not be used anymore@@nospamas8926
Great video thanks for the files as well. What if I do not want to use an internal DNS resolver, but use cloudflare can I do that also? As I do not mind using the internal urls to get to my services.
hi, thank you for the video! I did everything as shown. I have no errors / logs, all variables are correctly showing up in debug mode. My issue is I cant access traefik dashboard. it says 404 page not found when I do it via the domain that I gave, even when I try to access the dashboard using local ip address of my proxmox docker lxc container with port 80, 443 or 8080. I can't seem to resolve it, can you please suggest what should I do? I even changed traefik image from 3.0 to latest. I am out of options to try by searching online.
Is there a guide for creating a setup with some applications you want to expose to the public and some you want local only, and having wildcard certificates created for it all through traefik?
I would love to see a video covering the pros and cons of Traefik 3 vs caddy-proxy-manager vs nginx proxy manager.
I thought Caddy was going to be the bees knees so I went that route for my homeserver.
Pros: the label sections in the docker-compose.yml is self contained and no need for open ports on the host, and you can use any caddy directives you want.
Cons: You have to have the the docker-compose.yml files have a default external network.
For work I have had to use nginx proxy manager (npm).
Pros: All done in a gui, all the configs are centralized in npm. It is easy to setup certs for containers available on the local network by using a duckdns with an IP set to your private netowork and you do not have to have an external network setup.
Cons: You have to have open ports to all the services on the host.
The only thing I do not understand is how to get certs on multiple external apps. What would the config.yml look like for 2 or 3 services, not just proxmox?
I don't think the DNS part tells the CA to check those specific DNS servers. That would be a huge security risk. It simply tells traefik to use those DNS to verify that the TXT records are indeed visible globally before saying the CA to proceed with the next step (ACME protocol). What public DNS the CA queries from is not publicly documented
Whats the biggest new thing here, compared to v2? How bad of an idea would it be to just upgrade? At first glance i haven't noticed that at least the important settings changed that much
Any recommendations to troubleshoot when the cert is from traefik and not from let's encrypt.
Great video, but doesn't seem to work for me.. Once I get to the DNS part and setup the record with cloudflare.. it only ever points back to the TrueNas login page and I don't know what to do..
Great video. Just wondering, I would like to add zabbix to the mix here. Would I need to adjust the config.yml file ? If so, please advise
Hey Tim - what about using Cloudflare for more than just the DNS - how about also proxying so you hide your home IP from whoever is accessing the URL?
Certainly! Just toggle on proxy in cloudflare when setting this up!
Hi Tim, thanks for sharing this amazing video. I only need more help setting up multiple routers in the config file you showed us.
can you explain how I can add more external servers outside docker to my config. like my firewall interface, other homeserver, printers etc
Thank you for the update. Alongside yours, almost all others with Traefik are about the same age. Be a good idea to link to this new tutorial, on the old one from 2021.
36:47 The "secured" middleware chain doesn't seem to be applied to any of the routers. Assuming this is an editing mistake?
Hey - can I use this Traefik container to cleanly reverse proxy containers in *other* docker environments?
I could set it up in the 'external' way like you did for Proxmox, and I'm happy to do that, just wondering if there is maybe a cleaner way to do that (or even a second Traefik instance for the second docker environment..)
i followed to a tee.... i get the certificates with no problem (in the test mode) - but i can't access the traefik dashboard. I keep getting 404 page not found. I get it if i add :80 or :443. I have both ports exposed on by router
This is awesome! You managed to explain Traefik so clearly in just one video-amazing work!
I do have a quick question: How can I access my services from outside my home network? I understand that I need to expose only port 443 on my router, but the issue is that the setup uses the local DNS server to resolve the domains to Traefik. Because of this, it doesn’t work outside my network.
Thanks a ton for your hard work and for making Traefik so much easier to understand!
@@snopz thank you! you need to set up external DNS to point to your IP and then port forward to traefik.
@@TechnoTimI set up an AAAA record in Cloudflare DNS pointing to my public IPv6 address since my router only allows port forwarding over IPv6, not IPv4. Honestly, it's better this way-no need for dynamic DNS since I can assign a static IPv6 address that’s unlikely to change.