Self-Host All Your Homelab Services with DuckDNS -- Free Dynamic DNS Running on Docker

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024

Комментарии • 108

  • @TechnoTim
    @TechnoTim  4 года назад +17

    Have you purchased your own domain yet or are you using Dynamic DNS? LMK 👇
    BTW, if you're new here, welcome! 👋 Be sure to subscribe for more content like this!

    • @geogmz8277
      @geogmz8277 4 года назад

      Subbed, keep them coming.. And I don't use domain my core router comes with its own DynDNS service.

    • @slickace1862
      @slickace1862 4 года назад +1

      Greate video, however if you still use Pfsense, it has dynamicdns inbuilt as a service and they support Cloudflare which you also use. makes it a lot easier.

  • @safdjqw0
    @safdjqw0 4 года назад +22

    I was just recently reading about alternatives to a static IP so I’m happy to see this video ! Thanks Tim! Your channel is gonna blow up one day

    • @TechnoTim
      @TechnoTim  4 года назад +2

      Glad it was helpful!

  • @oldveeh
    @oldveeh 4 года назад +3

    I've been using changeip for a while now. It's working quite well to. There is no docker img that I know of. I've ddclient running on my vm. So far, so good.
    I'll check Duckdns. Nice vid.
    Cheers

    • @TechnoTim
      @TechnoTim  4 года назад +1

      Thanks for the info!

  • @i.s.statesteel8316
    @i.s.statesteel8316 4 года назад +3

    @technotim You have some really awesome videos. They are concise, accurate and meaningful. Keep up the great work and I always look forward to seeing more of your videos.

    • @TechnoTim
      @TechnoTim  4 года назад

      I.S. Statesteel thank you so much!

  • @oskarordavisson4813
    @oskarordavisson4813 4 года назад +2

    @Techno Tim Nice tutorial! One thing tho.. It is a really good practice to define image labels explicitly instead of using latest. I have experienced a real world problem that using the latest was the main issue...

    • @TechnoTim
      @TechnoTim  4 года назад +1

      Good point! Totally agree! I pin most of my containers to tags in a production environment but live dangerously with :latest in my homelab!

  • @sumitmamoria
    @sumitmamoria 3 года назад +3

    Can you possibly do a video on a self hosted dynamic DNS server ? That would be cool!

  • @jaskiratsingh984
    @jaskiratsingh984 Год назад +1

    Hi, Thanks for the video, you mentioned that there is a cron job set up by duckdns that updates the ip address, do you know what time it does this?
    I got this message in the logs, however, the ip doesn't seem to be updated on the web site. I suspect that the job wasn't triggered, but can't say for sure.
    duckdns | Your IP was updated at Sun Jun 4 01:31:03 UTC 2023
    duckdns | [custom-init] No custom files found, skipping...
    Thanks
    Jaskirat Singh

  • @johtfloridaman6227
    @johtfloridaman6227 3 года назад +1

    Creator: Uses Google oauth
    Me: rolls out in my Audi 5000

  • @nandurx
    @nandurx 4 года назад +2

    I like your videos a lot but little critics if you care otherwise ignore me. This is kinda easy to set up but if you have took little further by setting up let's say your proxmox to use through domain you just created or using domain to access one of the services we run on server would have make this video a lot better and more viewer who like experimenting it. Thanks for videos.

    • @TechnoTim
      @TechnoTim  4 года назад +3

      Thanks for the feedback! Noted! I try to keep each tutorial focus on one thing. I am taking the "once and well approach". Also, I am building up to things you are hinting at. Then, when I do create that content, I can refer back to it rather than cram it all into one, just like my Rancher tutorial in this one :)

  • @naami2004
    @naami2004 4 года назад +1

    Yooopiii, another great video from Techno Tim :)

    • @TechnoTim
      @TechnoTim  4 года назад +1

      Glad you enjoyed it!

  • @CodeCrafters01
    @CodeCrafters01 3 года назад +1

    Both sub domains get the same public IP?

  • @s0litaire2k
    @s0litaire2k 4 года назад +3

    Just thinking : Is using docker a bit overkill for effectively a single line DuckDNS script ?
    Would it not be more effective to use the PFsense or Freenas DuckDNS update methods?
    OR even a simple cronjob on the server itself?

    • @jesmasco
      @jesmasco 4 года назад

      Yep, seems overkill and overcomplicated, even a small container on proxmox would be too much.

    • @TechnoTim
      @TechnoTim  4 года назад +7

      Thanks for the feedback! I see your point but I'd argue for Docker, like anything else. It's using around 10 mb of RAM, immutable, containerized, isolated, repeatable, and easily updated with Docker. I'd say that's a win in my book.

    • @sidokouki670
      @sidokouki670 Год назад

      honestly I'd would vouch for docker everytime , just like Tim said immutability itself is enough for me to pick it , but sure for this particular example you can just run cron job.

  • @Liam-ey2gs
    @Liam-ey2gs 4 года назад +3

    Quality content, thank you!

  • @chrisumali9841
    @chrisumali9841 4 года назад

    Thanks for the walk thru, have a great day

  • @Liam-ey2gs
    @Liam-ey2gs 3 года назад

    Thank you for the educational content, much appreciated.

  • @kennethaugustin8006
    @kennethaugustin8006 Год назад

    This video is much appreciated. Thanks

  • @borolo222
    @borolo222 3 года назад +1

    Thanks for the videos Technotim, subbed. Btw, how to go about using a purchased domain with a dynamic IP? I have a domain in hover but there is no option to use a dynamic Ip. Perhaps I can point that domain using CNAME to one in duckdns?

    • @TechnoTim
      @TechnoTim  3 года назад +1

      Yes! Thank you! CNAME is the answer!

    • @eliaspizarro0015
      @eliaspizarro0015 2 года назад +1

      CNAME and redirect DNS query

  • @TON-vz3pe
    @TON-vz3pe 3 года назад +1

    Hi Tim, What's the procedure if your ISP doesn't allow port forwarding and the same IP you are using is being used by 70 different ISP customers?

  • @milanurukalo
    @milanurukalo 4 года назад

    I using DuckDNS (dockerized HomeAssistent addon) just to do ddns stuff, and then CNAME my domain to DuckDNS subdomain and wola! ... of course, lets-encrypt is there for https
    great video, nice pice of a story (incorporated with the last video) related to exposing local services fast and securely to the web

    • @TechnoTim
      @TechnoTim  4 года назад +1

      Thank you! Nice work! Can you explain a little more about how you CNAME it?

    • @milanurukalo
      @milanurukalo 4 года назад

      @@TechnoTim I using Namecheap for my domain, and I just added CNAME record for subdomain to point to my DuckDNS URL ...

  • @Centurionguy69
    @Centurionguy69 3 года назад

    Hi Tim, GREAT video as usual. However, I need to ask a possible stupid question please? So you have created your subdomain(s) on duckdns, you created the duckdns container in Docker/portainer/rancher. How do you tie the subdomain to a server in your network? Thats the part I am missing.

    • @TechnoTim
      @TechnoTim  3 года назад +1

      See my video on PiHole and DNS!

    • @Centurionguy69
      @Centurionguy69 3 года назад

      @@TechnoTim Thanks Tim. So it all boils down to DNS. That makes sense. Currently I dont have a DNS server. I just resolve everything using IP Addresses from my Ubiquiti EdgeRouter X

  • @WayneRigley
    @WayneRigley 3 года назад

    i had ya till the install, run proxmox here as most of your past videos ! wish you would have also showed on proxmox without the rancher as that kinda scares me

    • @TechnoTim
      @TechnoTim  3 года назад +1

      I hear ya, docker works well too. If you are going to run it on a vm, just use their script!

    • @WayneRigley
      @WayneRigley 3 года назад

      @@TechnoTim I'm one of the dumb ones and have to find videos with my exact setup so I can follow..

  • @GhostZodick
    @GhostZodick 4 года назад +1

    Great video!

    • @TechnoTim
      @TechnoTim  4 года назад +1

      Thanks for the visit

  • @yae5
    @yae5 4 года назад

    thanks Tim for this vid!!!

    • @TechnoTim
      @TechnoTim  4 года назад

      Thank you for watching!

  • @JD-sb7mq
    @JD-sb7mq 2 года назад

    okay so im trying to set up a remote access nas with nextcloudpi on my RPi4 in Docker. I opened up the ports in my router for my Rpi4 but I still can’t access it remotely. I think I need to configure letsencrypt but it’s giving me an error that says it’s likely due to a firewall settings.
    I dont think that the duckdns configuration from within the nextcloudpi web panel isn’t updating the IP to DuckDns but I didn’t get an error when I set it up and applied the settings in the NextCloudPi settings. could someone help me?

  • @diegomachado2239
    @diegomachado2239 2 года назад +1

    Hey @tim can I do this custom DNS for docker container apps ? like instead access container app by ip address change to custom_web_name ?

    • @TechnoTim
      @TechnoTim  2 года назад

      You either need a reverse proxy to route the traffic to containers (see my video on traefik) or macvlan to give your containers IPs

  • @ekekw930
    @ekekw930 4 года назад

    Thank you Tim!

  • @dustinkrejci6142
    @dustinkrejci6142 3 года назад

    Thank you for your help!

  • @adisbilanovic
    @adisbilanovic 4 года назад

    Hi, have you tired doing the Docker, Rancher, Kubernetes... Minecraft? (Rancher Setup and Install Tutorial) recently. I have run into an issue when deploying rancher after the docker install, this is on the latest supported version 19.03, rancher keeps giving web socket errors upon launching and the initial config of it doesn't ask you to set a password but asks for a current password and then set new. It would interesting to hear back from you about this. I have tried on multiple environments running up the docker vm trying both with ubuntu 18 lts and 20.

    • @TechnoTim
      @TechnoTim  4 года назад

      I just did it last week. Worked fine with Ubuntu 20.04 and the latest docker install script from Rancher.

  • @chrisbowie1438
    @chrisbowie1438 4 года назад

    I have been using no-ip for a long time. its free for one name but kinda annoying because each month you have to click a link in the email they send you and confirm your are real person to keep the service active. not a huge deal but not total set and forget. I use it for remote access through an openvpn server (turnkey linux). I can remote desktop to any of my home PC's, check my Ip cameras, turn lights on and off and monitor sensors.

  • @dustinkrejci6142
    @dustinkrejci6142 3 года назад

    I want to know how to chain DNS together. Internal DNS for Kubernetes to a Docker in the cluster to an external DNS like open DNS.
    I am looking for a Open DDN for corporate content filtering.
    Because at the DNS level there are alit of fliters I am going to want.
    While I am here how do I have my own DNS cluster, that’s all it does. The DNS cluster is mine in the multicloud providers. I am trying to make services in my business model, I want to be able to route my traffic through my own DNS before forwarding to another DNS- like Opendns.

    • @TechnoTim
      @TechnoTim  3 года назад

      You can use something pi hole for filtering

  • @Kekimus
    @Kekimus 4 года назад

    Early duck, wait no, early bird here

    • @TechnoTim
      @TechnoTim  4 года назад +1

      You were first, for sure! Thank you!

  • @JonaYepiz
    @JonaYepiz 4 года назад

    I've been looking everywhere on how to run a VPN like Nord on a container and direct traffic from other containers or Kubernetes through it but I followed your tutorials on rancher and Kubernetes and can't seem to find any other person doing it through that could you help me out with that I see that you need to change the net parameter and on ur videos, I can't find one that you do that please help.

  • @user-rp9iis1en6h
    @user-rp9iis1en6h 4 года назад

    Well, I have done everything as described but it doesn't work. I am using a shared ip internet plan, my public ip is xxxxxxx but as it is a shared wifi plan, so my router got a private ip. And from this router my desktop got another private ip. So, duckdns client always detects my public ip but it doesn't know what will be the destination internal ip. Also tried with portforarding but doesn't work. I am able to access my server under same network using another device. But duckdns doesn't work. Configured windows firewall, allowed everything or even tried with firewall disabled. I also tried with ngrok and it works as described. So whats the point? Do i need to have a dedicated ip?

    • @TechnoTim
      @TechnoTim  4 года назад

      DuckDNS is doing what it should (getting a public IP and updating DNS with your public IP) but sounds like you need to configure firewall rules and routing. There's no way anyone can route to a private IP without you making some changes. That's how firewalls work.

    • @user-rp9iis1en6h
      @user-rp9iis1en6h 4 года назад

      @@TechnoTim i have configured my desktop firewall but didn't work. I guess if i want to use duckdns, I need to have a dedicated internet ip. Shared Internet ip won't work because internet provider uses NAT and restricts all ports.

    • @killer2600
      @killer2600 3 года назад

      @@user-rp9iis1en6h No, CG NAT doesn't allow for direct access by IP address over the net.

  • @pillowism
    @pillowism 3 года назад

    can you do one for portainer and docker, its so hard!

  • @user-qc6yq1jh4j
    @user-qc6yq1jh4j 11 месяцев назад

    is sucirtity a problum

  • @salexkorsan8790
    @salexkorsan8790 3 года назад

    how to connect DNS to apache2 Server

  • @devKazuto
    @devKazuto 4 года назад

    It would be cool if DuckDNS would allow custom domains. Nameserver of the domain points to DuckDNS and DuckDNS points to the machine, basically like Cloudflare is able to.

    • @milanurukalo
      @milanurukalo 4 года назад +2

      it is easy to CNAME the custom domain to DuckDNS one ...

    • @devKazuto
      @devKazuto 4 года назад

      @@milanurukalo Sorry, I wrote it wrong. I've meant to say domain nameserver point to duckdns, not just the dns.

    • @TechnoTim
      @TechnoTim  4 года назад +2

      If you use cloud flare and have a domain with them, just find a docker container and do the same, or create one!

  • @jmjl2
    @jmjl2 3 года назад

    You get a * subdomain you dont need to make more than one for one ip

  • @SyberPrepper
    @SyberPrepper 4 года назад

    Great video. Thanks!

  • @dustinkrejci6142
    @dustinkrejci6142 3 года назад

    So how do I use this to make a computer lab for an office?

    • @TechnoTim
      @TechnoTim  3 года назад +1

      You can start with Proxmox, see my video on that.

    • @dustinkrejci6142
      @dustinkrejci6142 3 года назад

      Thank you techno’s Tim!

    • @dustinkrejci6142
      @dustinkrejci6142 3 года назад

      Does proxmox have a way to provision raspberries pi 4 8Gb models?
      If that is a a way to do so then please I ask you to make a video on this.
      I am trying to be a cloud company using lower cost computers, nucs, raspberry pi’s super computers clusters. Every spinning up multiple cloud providers to handle the spike in traffic.
      I am trying to make a cloud computer so in the Philippines I can provide Remote Desktop computers for remote workers, and children that need a desktops in a Docker container.
      So how to I get the outside internet to be able to reach my Remote Desktop services?
      I know dns is important but I am stuck.
      All this in /ranchers/helm/Kubernetes/serverless in some configuration way.
      I’m still stuck on how I am going to configure my business setup in Docker ecosystems.

  • @killer2600
    @killer2600 3 года назад

    What is with IT and Ducks? First we have DuckDuckGo now we have DuckDNS and God knows what else. When I think of IT and tech, ducks aren't exactly the first things that come to mind.

  • @techlordgyan9961
    @techlordgyan9961 4 года назад

    Python lauguange if you want video

    • @TechnoTim
      @TechnoTim  4 года назад

      which video?

    • @techlordgyan9961
      @techlordgyan9961 4 года назад

      @@TechnoTim I'm like saying can you make a video on Python basics

  • @longnamedude3947
    @longnamedude3947 4 года назад +1

    Nothing in life is free.
    Whoever is providing the DuckDNS hosting needs to pay for it to be hosted with AWS.
    So, How are they funding it?
    That is a serious question that you need to be asking yourself.
    Clearly they have some kind of analytics, so it is possible that they are selling on the knowledge of your known accounts to data harvesting businesses for cheap.
    I'm sorry to be so blunt about it, but something about this just smells fishy. I certainly won't be entrusting my DNS with DuckDNS.

    • @TechnoTim
      @TechnoTim  4 года назад +3

      Agreed, it’s a freemium model. Pay for more if you like, there’s no such thing as a free lunch so support the services you use or they won’t exist in the future.

    • @longnamedude3947
      @longnamedude3947 4 года назад +1

      @@TechnoTim That's very true, this isn't the kind of service I'm after so I have no intentions of supporting it myself.
      But I completely agree that you should always try to financially support the services that you use, especially Free services.
      Thanks for your reply, and I'd like to express my apologies if my original comment (or even this reply) came across as rude or harsh.
      I like to express my views, especially when they have things of serious consideration within them.
      All the best to you and thanks once again for your great content!
      Peace :)

    • @TechnoTim
      @TechnoTim  4 года назад

      @@longnamedude3947 No worries! I am glad you commented! I am open to all feedback, good, bad, indifferent - it's all a gift! So thank you!

  • @jatinverma3576
    @jatinverma3576 4 года назад

    why u choose proxmox over xpg-ng and free nas over unraid. and plzz reply to ur instagram messages 😑

    • @TechnoTim
      @TechnoTim  4 года назад +2

      All great choices. Stop into my stream sometime and I'll explain.

  • @aram535
    @aram535 3 года назад

    I'm sorry, I normally like your videos, but this is a total waste of anything other than simple script ... unix, mac or windows. You're telling people to waste CPU, memory for absolutely no gain.

    • @TechnoTim
      @TechnoTim  3 года назад

      Thanks for the feedback. How is containerizing, making something immutable, repeatable, and adding to existing infrastructure no gain? Running a vm for just a script seems like a lot. Immutable containers over mutable vms is the way to go for me. Thank you again for your feedback!

    • @aram535
      @aram535 3 года назад

      Your videos are appreciated.@@TechnoTim I'm hoping the discussion will help someone. I'm all for making something immutable and repeatable. Using any of the single line commands curl, powershell, are A) It is immutable on client side, B) it repeats on schedule. Why would you want to containerize it? What benefit does a container wrapping a single line of code make? IMHO, you're advising people to create a dependency that doesn't need to exist and makes the process more complicated. I love the idea of containerizing an application, makes it totally easy, moveable, backups are easy, upgrades are easy. When you take that too far and take a single "command" and wrap it in a container.... then it's too much overhead.

    • @TechnoTim
      @TechnoTim  3 года назад

      @@aram535 Thanks! really appreciate it! While most things can be done in one line of code or one shell script, it does still mean that you are now managing a script that has values that you've changed and possibly hard coded and a cron task on that local machine. Env variables can obfuscate the secrets (sure you could do that with a script and permissions too). I choose a container because it can be moved anywhere in my cluster, secrets are managed by kubernetes (if you choose to map them), and the container will restart itself if it crashes (monitoring, which you could make it more elaborate if you like). I am at a point with my infrastructure where adding one container to my existing kubernetes cluster is minimal compared to finding a VM to run a script because at the end of the day, I don't care which node it runs on as long as it does. I let kubernetes schedule it and manage uptimes. I guess my philosophy is that I containerize everything I can and only change something on the host/node/vm only if absolutely necessary. VMs in my kubernetes cluster are mostly throwaway :)

    • @aram535
      @aram535 3 года назад

      @@TechnoTim So you're saying managing a container is less work than maintaining one line of code? Sorry but the "obfuscation" is just simply moving the puck around. ENV variables exist somewhere and that's how they're passed into the container. Just moving them from one script to another script (profile?) doesn't do anything. Unless you're putting the values into a secret engine, that really doesn't buy you anything. I'll give you that in a multi-node kub env, there are more options of "recovery" but nothing says you can't put the script on multiple machines either. I do believe in containerization but this is still a step too far for me.

  • @2Bachlors1house
    @2Bachlors1house 4 года назад

    i just looked at your documentation and its not even a document. you should stop calling it that and just tell folks to look at the last video if your not going to actually document your work. Now im gonna have to spend hours writing down everything you did and typing it out so i can setup my server to do some of the things you show.

    • @TechnoTim
      @TechnoTim  4 года назад +2

      Misplaced prepper sorry, all videos that require copy pasta have copy pasta. Videos that require filling out forms are personal to you. There’s no sense in creating documentation that says “example.com” only for you to copy and replace it with “mysite.com”.
      Also, why would you write it down? Pause works.

    • @2Bachlors1house
      @2Bachlors1house 4 года назад

      @@TechnoTim im more used to reading a piece of paper with either hand writing or typed words on it. and i understand where your coming from on the not creating all of the documents. im just used to a full breakdown of what to do and how to do it when im learning something and dont have a full knowledge of the os or program.

    • @TechnoTim
      @TechnoTim  4 года назад +3

      @@2Bachlors1house I understand, but this is a video tutorial and I've done the hard part of figuring it all out and teaching it in a consumable manner. I get where you're coming from but unfortunately I don't also have time to create blog posts too at this time. Videos that have commands that are hard to type will always have copy & paste and videos that don't most likely won't. Also, the documentation is open source on GitHub so PRs are welcome! Thank you for the feedback.