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.
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.
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.
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 😊
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
It's a shame that UA-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.
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?
@@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. :)
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
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.
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!
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
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
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?
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.
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.
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.
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!
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
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
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.
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?
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!
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.
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?
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 👍
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.
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
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.
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.
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. 👍
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..
Uugh my traefik is causing so much problems when i try to deploy my react app.. so many different header settings that cause weird behavior with no freaking error output 😵
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.
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.
I don't understand at all why you use a .local. Instead of forwarding 80 and 443 to 80 and 443, I forward them to 81 and 444. Then traefik is set up to know that those are external services, and it's just a couple extra labels. If traefik gets requests on 80 and 443, it knows that those are local. And I setup a wildcard for my domain internally so I don't have to manually add each one.
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
Hi Tim, just had a question for you please. I initially set up my Docker computer (running Debian 12) with a network SMB shared folder (from my NAS) mounted in /home/user/DockerFilesOnNASfolder/ (set to automatically mount upon boot). I have tried and failed to run several different Docker containers (including Traefik, Frigate, and Portall), if the files are within that network folder. Simply moving them to e.g. /home/user/DockerFilesNOTOnNASfolder (i.e. a folder on the computer running Docker) solves the problems I've had. I wanted to have all my Docker stuff on my NAS so it was backed up in real-time, but obviously this isn't working. Is there a better way of backing things up? Thanks for your thoughts.
your previous video worked great for me, this looks pretty much identical apart from the format of some of files. is it worth switching to traefik 3? like is it a big update?
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!
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
i was considering moving to traefik for ages, but everytime I look into that it seems so overwhelming its not worth the effort. SWAG works for me like a breeze, does everything I want from it and the setup is like 10% of this.
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 the great tutorial Tim. I'd been struggling to get either Proxmox or Portainer to work properly behind Traefik, but I got it working by following your video. Question. How do you get something like AdGuard Home or Pi-Hole to work with Traefik? AGH requires a location for the SSL certificates, so how do you get it to read the acme.json file? Also, how do you get AGH to work with DoT and DoH?
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
By the way, you can use secrets for the traefik dashboard basic auth. Instead of .users tag, use the .usersFile tag. Also, why do you CTRL+O, ENTER in nano instead of just CTRL+S?
@Tim, I didn't catch why mix traefik and nginx(specific need, or just showing compatibility?), and also, why pihole instead of cnames on cloudflare(is it a cost thing, security thing? or just having pihole already in the mix?)
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.
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..)
Thanks for the new v.3 update of your guide. In my case I use duckdns and I have had no problems. I noticed that in your example with ngix you use fewer Middlewares in the App Label (4) compared to the 12 in your previous Trafik 2 tutorial. Is that the new standard configuration for all the applications that I add to Trafik? Thank you very much for your time that you give to your guides
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?
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?
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'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!
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.
compare to the last video of Traefik , i had 0 issue
love how you explain things very easy and in simple way 😍
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!
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.
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 😊
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
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)
This might be the definitive guide for Traefik 3
It's a shame that UA-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.
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?
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. :)
**knows he can create/edit file in one step but prefers two steps** Bravo good sir! So satisfying...
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!
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?
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.
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!
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
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
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?
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.
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.
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
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.
I did all this over yesterday and today but with some help from Dockge. This was an awesome tutorial!
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!
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?
One of the best tutorials I've followed on youtube, perfect pacing and everything worked first time. Thank you!
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
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
Very comprehensive Tim, well done.
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. 👍🏻
Thank you. I've been meaning to do this in my homelab for some time. Now I have everything I need.
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?
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!
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.
Another great tutorial, Techno Tim. I even got this to run on my Docker Swarm (once I had the correct DNS name).
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?
Thanks for the demo and info, once again super helpful documentation. Have a great day Techno Tim
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 👍
Thanks Tim! finally managed to get Traefik fully working in my homelab, great tutorial as always
Fantastic video. Love the section on verifying things were working.
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.
Great video, thank you Tim! Would you recommend switching to Traefik v3 if already have v2 setup working?
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
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!
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.
Really helpful ! Thank you ! Could you make a video to explain how to convert that configuration to a docker swarm ?
thx mate, im from Brazil and u saved my life! Great content, keep doing this job ur awesome! Again, thx a lot!!
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?
loved the whole idea of this, brilliant stuff Tim!
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
will there be a similar update for the Kubernetes version?
Great Video, any plans for a video on how to securely expose to the internet?
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..
Uugh my traefik is causing so much problems when i try to deploy my react app.. so many different header settings that cause weird behavior with no freaking error output 😵
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.
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!
I wanted to mess around with swarm a bit more could we get this in a swarm version?
after all we are homelabbing to simulate production environments?
Thank you! I wouldn't be able to configure it without this tutorial.
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.
Just moved and am now motivated to unpack the homelab 😎
Tim, can you do an updated video on installing and setting up TrueNAS Scale 24.04? A lot of things have changed.
I'm confused, what is significantly different between 2.x and 3?
I don't understand at all why you use a .local. Instead of forwarding 80 and 443 to 80 and 443, I forward them to 81 and 444. Then traefik is set up to know that those are external services, and it's just a couple extra labels. If traefik gets requests on 80 and 443, it knows that those are local. And I setup a wildcard for my domain internally so I don't have to manually add each one.
Tim, you make super great video's, in one word PERFECT!!
Any recommendations to troubleshoot when the cert is from traefik and not from let's encrypt.
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
Hi Tim, just had a question for you please.
I initially set up my Docker computer (running Debian 12) with a network SMB shared folder (from my NAS) mounted in /home/user/DockerFilesOnNASfolder/ (set to automatically mount upon boot).
I have tried and failed to run several different Docker containers (including Traefik, Frigate, and Portall), if the files are within that network folder. Simply moving them to e.g. /home/user/DockerFilesNOTOnNASfolder (i.e. a folder on the computer running Docker) solves the problems I've had.
I wanted to have all my Docker stuff on my NAS so it was backed up in real-time, but obviously this isn't working.
Is there a better way of backing things up?
Thanks for your thoughts.
how does this video have only 3.4k views? I watched it like 6 times start to finish alone.
Bro.... This tutorial was AMAZING!
your previous video worked great for me, this looks pretty much identical apart from the format of some of files. is it worth switching to traefik 3? like is it a big update?
@TechnoTim any chance of a video explaining how you configure cloudfare to point your local dns running in pi-hole?
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!
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.
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
So you added Pihole just for the GUI?
Why not use tags to pass info to Traefik from any running docker image and let it manage the DNS?
i was considering moving to traefik for ages, but everytime I look into that it seems so overwhelming its not worth the effort. SWAG works for me like a breeze, does everything I want from it and the setup is like 10% of this.
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 the great tutorial Tim. I'd been struggling to get either Proxmox or Portainer to work properly behind Traefik, but I got it working by following your video. Question. How do you get something like AdGuard Home or Pi-Hole to work with Traefik? AGH requires a location for the SSL certificates, so how do you get it to read the acme.json file? Also, how do you get AGH to work with DoT and DoH?
36:47 The "secured" middleware chain doesn't seem to be applied to any of the routers. Assuming this is an editing mistake?
Everything worked and now I have TLS on all my connections to my services. Thank you Tim
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
By the way, you can use secrets for the traefik dashboard basic auth. Instead of .users tag, use the .usersFile tag.
Also, why do you CTRL+O, ENTER in nano instead of just CTRL+S?
@Tim, I didn't catch why mix traefik and nginx(specific need, or just showing compatibility?), and also, why pihole instead of cnames on cloudflare(is it a cost thing, security thing? or just having pihole already in the mix?)
30:00 you can just do > filename to blank out a filename from the terminal.
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.
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..)
Thanks for the new v.3 update of your guide. In my case I use duckdns and I have had no problems. I noticed that in your example with ngix you use fewer Middlewares in the App Label (4) compared to the 12 in your previous Trafik 2 tutorial. Is that the new standard configuration for all the applications that I add to Trafik? Thank you very much for your time that you give to your guides
Any reason to use this over nginx proxy manager?
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?
great video, trouble shooting parts also helped very much!
Excellent easy to follow tutorial , many thanks
Do you think it's possible to use this stack together with Cloudflare tunnel?
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?
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?