Self hosted DNS solution reddit / selfhosted ---------------------------------------------------------------------- Maryannus · 2023-10-26 10:35 So I have 100+ websites I manage for various clients, and it is a pain for me to login to their hosting or domain registrar accounts to manage their DNS. Is there a simple solution, where I can turn on my own server that manages DNS? So for every domain I manage, I simply set a DNS once as [ns](https://ns1.mydnsserver.com)1..com, and from thereon I can just manage their DNS configurations? ---------------------------------------------------------------------- Raithmir · 2023-10-26 10:51 I use Technitium DNS for all my DHCP/DNS/Ad Blocking. https://technitium.com/dns/ ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 11:04 Yes. Bind DNS is the perfect candidate for that because it supports DNSSEC and everything in between. ---------------------------------------------------------------------- flrn74 · 2023-10-26 11:04 Powerdns and powerdnsadmin works well. Do keep in mind you are assuming responsibility for keeping that server up, if it fails your domains could be impacted (depending on how secondary servers are set up) ---------------------------------------------------------------------- Silentspy · 2023-10-26 11:16 Why not just use Cloudflare? Redirect client nameservers to them. Also you can pay them if you ever need prioritized support. Free plan is solid usually. DNS is scary to selfhost. ---------------------------------------------------------------------- Professional-Swim-69 · 2023-10-26 11:22 Cloudflare is a solid solution. Better than hosting yourself IMO ---------------------------------------------------------------------- jusepal · 2023-10-26 11:30 Technitium dns server for no fuss gui that works wonderfully well. Just a single package for a complete dns solution. Bind9, nsd if you don't mind terminal. ---------------------------------------------------------------------- xenophonf · 2023-10-26 11:38 DNS and e-mail are really, honestly, truly easy to self-host. ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 11:58 Can you make an example why selfhostig DNS is scary? ---------------------------------------------------------------------- Silentspy · 2023-10-26 12:07 Externally. Why not take use of the good options out there and make it easier for yourself? ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 12:10 That’s not an example. Can you please make a technical example, thanks. ---------------------------------------------------------------------- Silentspy · 2023-10-26 12:28 Basically letting Cloudflare take ownership over DNS. So much better then logging into x amount of different domain registrars web management panels. Its not really directly comparing to your BIND solution. But a lot better then what he/she currently struggles with. ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 12:30 Neither of these is self-hosting, one is using the registrar DNS the other is using a public DNS. Can you please make an example on how selfhosting DNS is scary? ---------------------------------------------------------------------- Silentspy · 2023-10-26 12:38 Reliabiliy. Uptime. Mind of ease? He does say he host websites for 100+ clients. ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 12:39 Still nothing scary about that. I guess you don’t really have an example? That’s okay. If OP wants to selfhost his own NS for his clients, this is up to him to do so. If everyone would have the mindset you just described we would not have progress because no one would risk anything. ---------------------------------------------------------------------- Silentspy · 2023-10-26 12:48 It is a good solution. It is up to him to decide which to go for as you say anyway. I love self hosting as much i can. And risk is scary. Why would it not be a huge downside? ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 12:50 OP can selfhost his DNS on two VPS (stability, reliability) for example, or one on a VPS and one at his home if he can get a static IP. There are no downsides in not relying on the cloud. ---------------------------------------------------------------------- clintkev251 · 2023-10-26 13:06 Selfhosting on a VPS still isn't going to be as reliable as using an enterprise resolver. Route53 for example has a 100% SLA [https://aws.a mazon.com/route53/sla/](https://aws.amazon.com/route53/sla/). There's just no way you can achieve that kind of availability with a single instance. Depending on OPs usecase they may not need this, but I don't think you can honestly say there are no downsides. As with anything there are pros and cons ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 13:10 NS needs two instances, not a single one. By that logic why do anything yourself and not use cloud for everything because of uptime and reliability? I’m hosting commercial DNS since over a decade, maybe I should stop because the cloud can do it better, whatever better means. That argument is very short sighted and very flawed that it negates everything else and leaves only the big cloud providers as the only “reliable” solution. ---------------------------------------------------------------------- clintkev251 · 2023-10-26 13:16 >By that logic why do anything yourself and not use cloud for everything because of uptime and reliability? Because not everything I host needs 100% availability >I’m hosting commercial DNS since over a decade, maybe I should stop because the cloud can do it better, whatever better means. I think I was pretty clear that it's better in sense of having higher availability. Even with 2 instances, you're not hitting 100% in all likelihood, and much more susceptible to zonal outages and the like >That argument is very short sighted and very flawed that it negates everything else and leaves only the big cloud providers as the only “reliable” solution. I literally said there are pros and cons to each.... ---------------------------------------------------------------------- SeniorFlo · 2023-10-26 13:43 Checkout this https://gravity.beryju.io/ ---------------------------------------------------------------------- thekrautboy · 2023-10-26 13:49 OP asks to selfhost, your answer is Cloudflare? ffs ---------------------------------------------------------------------- enongio · 2023-10-26 13:51 Dont do it. Selfhosted dns is way to easy to take down for an attacker. Use cloudflare ad already mentioned. ---------------------------------------------------------------------- Qxt78 · 2023-10-26 14:06 If you do self host dns make sure you have at least 2 vm's on different subnets (not the same ip ranges) and if you really go smart about it have them hosted in separate cloud providers to mitigate the risk a bit. Then make sure you are aware of how hackers use dns servers for example dns amplification attacks with dns to prevent yours from being used. There is documentation and CIS guides on this. But overall it is not scary. Just a bit of initial admin to get going. As other have mention there is bind, powerdns and that other one that was mentioned Technitium or something (never heard of it before). But as others have mentioned before, Cloudfare really is a good option to selfhost without the infrastructure requirements. ---------------------------------------------------------------------- DearBrotherJon · 2023-10-26 14:50 This is the way ---------------------------------------------------------------------- mrpink57 · 2023-10-26 15:11 OP is now just creating a single point of failure with at best a secondary backup, what if their internet goes down, do they have a business account with an SLA, they just took down a bunch of sites for no reason. Cloudflare is going to have a lot of redundancy built in to avoid this, they are also great at stoppoing amplify attacks over DNS. ---------------------------------------------------------------------- junialter · 2023-10-26 15:16 IF you want to host DNS yourself you should at least have 2 sites each running their own IP address (space). They should also be not too close to each other geogrpahically. This is for failover. DNS is like the spine for all the sites. If DNS fails, all the websites fail. Secondly I suggest you take a look at powerdns together with database sync. You will get a nice API so you can automate all stuff. Or if you actually decide against self-hosting I suggest you get a DNS provider who offers an API so you can automate stuff. I would only selfhost if you have profound knowledge of self-hosting as well as DNS in general. ---------------------------------------------------------------------- aaronryder773 · 2023-10-26 15:38 Although not selfhosted maybe [https://desec.io/](https://desec.io/) ? ---------------------------------------------------------------------- RapidScampi · 2023-10-26 15:39 I have to agree on this one. CF provide services that I see as being essential that it's simply not possible to host yourself, such as the Cloud Proxy. I wrote a shell script so I can quickly add entries using CF's API as I manage 200+ domains and like you I find constantly logging into a web GUI is arduous. Adding a new sub-domain is as tricky as: ```bash cf -A 11.22.33.44 subdomain.maindomain.com +proxy ``` ---------------------------------------------------------------------- Nagashitw · 2023-10-26 15:45 Easier to just use a terraform provider. ---------------------------------------------------------------------- steve303 · 2023-10-26 15:53 Sure you can run Bind or PowerDNS as you own authoritative master or hidden master - I'm old, so I run Bind. Just set up or contract for highly available secondary servers and generally keep your TTLs high - unless your constantly making changes. Just make sure you set a stick record for whatever your public authoritative master is. ---------------------------------------------------------------------- skooterz · 2023-10-26 16:03 This would be my recommendation as well. Different zone files for each client. Easy to manage and you can keep the configs in version control. ---------------------------------------------------------------------- phein4242 · 2023-10-26 16:21 DNS is one of the most easy services to host. More easy then a webserver with some application on there for instance. Please dont spread FUD… ---------------------------------------------------------------------- RapidScampi · 2023-10-26 16:21 If you're deploying infrastructure in a consistent way, then absolutely. Most of my clients are small to medium-sized businesses, some still using on-site tin, some in the cloud, some in my DC, all doing something slightly different and in many cases stupid :-D ---------------------------------------------------------------------- phein4242 · 2023-10-26 16:22 Options are: NSD, Knot, PowerDNS (has some nice guis for managing domains as well), and if you’re into old codebases, Bind. ---------------------------------------------------------------------- phein4242 · 2023-10-26 16:25 Boy, are you wrong :) Every large-scale dns setup has a set of (fairly) trivial scripts to generate records or zonefiles. If you know how to script a call to the CF cli, you know how to script automating a zonefile. ---------------------------------------------------------------------- Squid_At_Work · 2023-10-26 16:41 Speaking from MSP/Sysadmin experience, I have historically had horrible luck with web admins managing DNS. Its nothing personal but I would not let you have management over my DNS. That being said, there are a few ways you can cut this depending on your scale. Personally id setup DNS in Azure and AWS. Then use Micetro to manage them. You can then delegate access to a clients zone so their internal team can co manage it if needed. Everything being audited and logged. The reason for replicating between AWS/Azure is both geographic and to reduce the possibility of an outage when one of these services goes offline. As its using their services you also dont have to manage/patch the underlying servers. ---------------------------------------------------------------------- rolikeusch · 2023-10-26 16:42 no sure how many different provider you have, but perhaps https://dnscontrol.org could help you manage them from command line. ---------------------------------------------------------------------- djzrbz · 2023-10-26 16:46 I use T-DNS almost exclusively now. ---------------------------------------------------------------------- someoneatsomeplace · 2023-10-26 17:10 I use PowerDNS and PowerAdmin. Supports pretty much everything (including BIND backend), has an API, and you can store the DNS records in a SQL database. ---------------------------------------------------------------------- blind_guardian23 · 2023-10-26 17:13 not sure this is sarcasm or not ... its not easy unless you mean just recursive resolver or something like dnsmasq with records from hostfile. Actually its better for most people to leave that topic to the domain registrar and just use their API via ansible. If your dns ist down, fun stops. ---------------------------------------------------------------------- blind_guardian23 · 2023-10-26 17:17 PowerDNS ist more the category of "perfect", it can even use bind-zone files as backend along with tons of other choices (like databases) and simple methods like lua or pipe-backend. bind is just the grandpa everyone keeps alive because they have to many zone-files and avoid searching for alternatives. ---------------------------------------------------------------------- blind_guardian23 · 2023-10-26 17:20 would recommend ansible instead. ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 17:20 If you manage bind with zone files you do something wrong. Bind outperforms still basically any other DNS out there and is maintained by the isc itself. Its the defacto standard. ---------------------------------------------------------------------- ElevenNotes · 2023-10-26 17:31 If cloudflare works for you, this is great. If OP doesn't want to use cloudflare, that's his choice and great too. He might learn a thing or too while setting up his own public NS. ---------------------------------------------------------------------- jkirkcaldy · 2023-10-26 17:37 Came here to suggest this. ---------------------------------------------------------------------- betahost · 2023-10-26 17:38 You can always use a Pi-Hole which offers DNS Hosting or if you have a Synology NAS [https://pi-hole.net/](https://pi-hole.net/) [https://dnssimple.com](https://dnssimple.com) is also a great cheap solution that will host your own NS servers. ---------------------------------------------------------------------- haroldp · 2023-10-26 17:43 As someone who has managed BIND DNS servers for nearly 30 years, I highly recommend PowerDNS. Any performance differences are academic, security histories are starkly different, and monitoring and maintenance on PowerDNS is **so** much nicer. Whatever server you go with, I'd still recommend reading the [Cricket Book](https://www.amazon.com/dp/0596100574/) to become the DNS expert you should be if you are hosting, and avoid some of the more painful pitfalls. ---------------------------------------------------------------------- AnonymusChief · 2023-10-26 18:02 I use Cloudflare. I just have the users add the Cloudflare nameservers to their domain. Once all is done, I can make DNS changes while the customer continues to pay for the domain using their preferred registrar. ---------------------------------------------------------------------- br0109 · 2023-10-26 18:03 Cloudflare + terraform is a good solution ---------------------------------------------------------------------- haroldp · 2023-10-26 18:04 CloudFlare is a quality DNS host with a solid control panel for managing your zones. However I will say that granting access to the domain owner or their other tech people is a giant hassle on CloudFlare. ---------------------------------------------------------------------- 12_nick_12 · 2023-10-26 18:06 I would use cloudflare and terraform to be honest, but bind would work just fine. You'd be able to keep all configs in git and have a pipeline deploy to the server and reload. ---------------------------------------------------------------------- adamshand · 2023-10-26 18:18 +1 for Cricket Book. Read it cover to cover early on in my career and was one of the most useful investments of time I ever made. ---------------------------------------------------------------------- adamshand · 2023-10-26 18:22 I've run DNS servers for decades, they really aren't that complicated or hard. Much simpler than most of the services people run all the time here. ---------------------------------------------------------------------- adamshand · 2023-10-26 18:24 I don't understand this sub sometimes. You are very right. This sub's aversion to hosting email (and now DNS) is bizarre. ---------------------------------------------------------------------- lunakoa · 2023-10-26 19:01 I do both bind and route 53, but this is self-hosted so bind would be my choice. ---------------------------------------------------------------------- d_Party_Pooper · 2023-10-26 19:14 I self hosted DNS for years but and even though this sub is about Self Hosting, I moved it off because DNS is so critical and I didn't want to deal with it. I went with NextDNS for a year to trial it and it's been awesome. Let's you separate devices / customers etc into different sections, has ad and malware blocking and much more. Plus it uses Secure DNS if you configure clients for it, so no ISP spying. ---------------------------------------------------------------------- joost00719 · 2023-10-26 19:36 Cloud flare offers an api which allows you to manage it yourself without much hassle. ---------------------------------------------------------------------- DanielB1990 · 2023-10-26 19:58 +1 for DNSControl, combine that with Gitlab / GitHub and a ci/cd pipeline and you'll only have to commit you're changes and the ci/cd will do the rest. I use it to manage DNS at Cloudflare, but anything else that DNSControl can communicate with will work. ---------------------------------------------------------------------- DanielB1990 · 2023-10-26 20:00 I'd advise to use DNSControl, combine that with Gitlab / GitHub and a ci/cd pipeline and you'll only have to commit you're changes and the ci/cd will do the rest. I use it to manage DNS at Cloudflare, but anything else that DNSControl can communicate with will work. ---------------------------------------------------------------------- CC-5576-03 · 2023-10-26 20:48 If you're getting paid to manage these sites you should not selfhost their dns. Use a real dns provider like cloudflare. ---------------------------------------------------------------------- Ok_Tax_2849 · 2023-10-26 20:58 If you had pihole in use, you can add static entries in it. And inside of pihole there is a dnsmasq, which you may setup for forwarding requests for some domains. It works good. ---------------------------------------------------------------------- bobsbuttplug · 2023-10-26 21:03 I like [powerdns](https://doc.powerdns.com/authoritative/) for an authoritative server. ---------------------------------------------------------------------- astutesnoot · 2023-10-26 22:42 OP also mentioned small; and medium sized businesses as customers, and selfhosting in the context of this subreddit is almost all personal use (+friends and family). Recommending halfass solutions where there are customer businesses that will be harmed by his mistakes during his learning process is irresponsible, regardless of how pedantic you want us to be in this subreddit. ---------------------------------------------------------------------- tquinnelly · 2023-10-26 22:52 This. PDNS is the way to go ---------------------------------------------------------------------- thekrautboy · 2023-10-26 23:11 hahahaha ---------------------------------------------------------------------- InasFreeman · 2023-10-26 23:31 I run coredns.io these days. Simple, many plug-ins available, can handle split brain, etc. (Personally I just make a change in git and it auto updates my dns boxes) ---------------------------------------------------------------------- tfmm · 2023-10-27 01:32 This, and manage it with Terraform. ---------------------------------------------------------------------- lvlint67 · 2023-10-27 01:44 Bind, powerdns, dnsmasq.... You COULD do it with windows DNS server or even something like a mikrotik router.... AWS has route53.. but depending on your clients someone would be paying money... Id probably look for someone like digitalocean or cloudflare that has an API and use that.... DNS is pretty simple... Until it's not. ---------------------------------------------------------------------- SillyLilBear · 2023-10-27 01:45 this is a better solution ---------------------------------------------------------------------- lvlint67 · 2023-10-27 01:46 Powerdns is pretty solid. I prefer bind *IF* I'm not making programmatic updates and I still manage the thing like it's 2003 via ssh and vim... Powerdns gives you a lot more options because of the backend storage possibilities. ---------------------------------------------------------------------- South-Blackberry9257 · 2023-10-27 02:12 \+1 easy to install and manage. ---------------------------------------------------------------------- hogysemiv · 2023-10-27 02:32 You got options, man. Cloudflare rocks, but self-hosting is cool too. Up to you, bro. ---------------------------------------------------------------------- curtissh7kp · 2023-10-27 02:34 Cloudflare is the best choice! ---------------------------------------------------------------------- CodeSugar · 2023-10-27 03:05 +1 I really like it and it has a guide exactly for this https://blog.technitium.com/2022/06/how-to-self-host-your-own-domain- name.html ---------------------------------------------------------------------- wickedwarlock84 · 2023-10-27 03:59 If he doesn't want to us cf then route53 and others out there provide alternatives. They take care of security, redundancies and the critical stuff. You just add and use. ---------------------------------------------------------------------- haroldp · 2023-10-27 04:13 > Powerdns gives you a lot more options because of the backend storage possibilities. Most definately, including BIND zones files, if that's your kink. ---------------------------------------------------------------------- cltrmx · 2023-10-27 04:49 I use three instances of CoreDNS (one main and two others) at three different providers. Setup is relatively easy and I manage all DNS zone files, keys for DNSsec with Git. ---------------------------------------------------------------------- andy_jay_ · 2023-10-27 05:13 Agreed Given the mission-critical nature of DNS, it would be a good idea to reduce your risk exposure by using a third party. If you're determined to self host, then make sure you are covered by insurance. ---------------------------------------------------------------------- SR_Lut3t1um · 2023-10-27 05:49 I'm using freeIPA and I'm happy ---------------------------------------------------------------------- fab_space · 2023-10-27 06:06 powerdns and its api + cloudflare or aws as backup via dnscontrol, github actions and nothing more. I made a repo for that purpose: https://github.com/fabriziosalmi/dnscontrol-actions Enjoy ---------------------------------------------------------------------- fab_space · 2023-10-27 06:08 no it’s dnscontrol the dns way. sir ---------------------------------------------------------------------- fab_space · 2023-10-27 06:09 dnscontrol it via git actions and u will never go to gui :) ---------------------------------------------------------------------- Maryannus · 2023-10-27 07:52 Thanks for the detailed post. I will keep these in mind. ---------------------------------------------------------------------- tegasvjazz · 2023-10-27 08:19 DNS is a must for self-hosting! ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:20 No, I specifically wanted self-host. I know about Cloudflare but I don't like to use services provided by large companies. And Cloudflare does go down all the time. I can easily spin off 3-4 VMs - that's not the problem. I don't want to rely on Cloudflare. For all you know, tomorrow they will block a bunch of my sites because someone doesn't like my opinion on bacon and cheese. ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:21 Thanks, but I wanted a self host solution. Also, I will never use Azure because I don't like Microsoft. ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:22 It's okay - I can spin off 3-4 different VMs. Not a problem. I don't want Cloudflare or a large company known to censor. ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:23 Thanks, but I specifically don't want Cloudflare. I have had Client websites banned by Cloudflare for ridiculous reasons. I want a DNS, not a hall monitor. ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:24 Thanks, but I have had issues with clients with Cloudflare in the past. They tend to ban/block websites or traffic on subjective grounds. I am happy to spin off 5 VMs if needed. The reason I like to self host is because I am kind of sick of these large companies acting like they own us. ---------------------------------------------------------------------- Maryannus · 2023-10-27 08:37 Thanks for the recommendation. ---------------------------------------------------------------------- VettedBot · 2023-10-27 09:27 Hi, I’m Vetted AI Bot! I researched the **DNS and BIND 5th Edition** and I thought you might find the following analysis helpful. **Users liked:** * Book provides a comprehensive overview of dns (backed by 6 comments) * Examples and explanations are clear and helpful (backed by 7 comments) * Useful as a reference for experienced administrators (backed by 9 comments) **Users disliked:** * Outdated security information (backed by 1 comment) * Too much information on older versions of bind (backed by 1 comment) * Unrealistic example setup (backed by 1 comment) If you'd like to **summon me to ask about a product**, just make a post with its link and tag me, [like in this example.](https://www.red dit.com/r/tablets/comments/1444zdn/comment/joqd89c/) This message was generated by a (very smart) bot. If you found it helpful, let us know with an upvote and a “good bot!” reply and please feel free to provide feedback on how it can be improved. *Powered by* [*vetted.ai*](http://vetted.ai/reddit) ---------------------------------------------------------------------- enongio · 2023-10-27 10:10 Handling DNS servers is easy when it works, but there are pitfals you need handle. You need at least 2 locations with two different providers in two different countries. ---------------------------------------------------------------------- Gold_Actuator2549 · 2023-10-27 10:37 Powerdns with MySQL replication backend. Firewall rules to only allow MySQL traffic from other authoritative servers. ---------------------------------------------------------------------- _duncan_ · 2023-10-27 12:26 Since you're managing clients' DNS, you don't really want to self host it. Take a look at OctoDNS: https://github.com/octodns/octodns Yaml config for DNS, and it just interacts with all the providers your clients want to work with while letting you have everything in one place managed via IaC. ---------------------------------------------------------------------- phein4242 · 2023-10-27 15:18 I am talking about authoritative dns servers, including building greenfield setups. Been doing this since bind4. If your dns goes down, it means you cheaped out on infra (you need a minimum of two servers at different hosters/networks and preferrably a domain per server to prevent a tld outage from taking down your primary) ---------------------------------------------------------------------- HTTP_404_NotFound · 2023-10-27 16:46 I too use, and really enjoy technitium. For downstream / redundant servers, I use normal bind9, with techitium as the upstream. I have them configured to automatically do zone- transfers, so that... if the primary server goes down / is inaccessible, dns still works. ---------------------------------------------------------------------- blind_guardian23 · 2023-10-27 19:56 still i would not recommend this until you reach pro-level (like mailservers). If you know ansible and have 10yrs experience, everything is just a matter of time. Dont underestimate how much basics you already have accumulated over time. ---------------------------------------------------------------------- phein4242 · 2023-10-27 20:41 DNS is the *first* fundamental technique to learn if you want to selfhost, so i would even argue starting with it. I do agree with you wrt mailservers tho. ---------------------------------------------------------------------- blind_guardian23 · 2023-10-27 22:09 agreed, but setting A/AAAA/MX-records on a managed DNS-service ist hard enough for beginners. knowledge of DNS-records is ofc non-optional early on (fully agree thats very fundamental). i started with LAMP, than fileserver, than much later with dovevot, postfix, ... (these were times where you needed to buy a book and i needed a whole week to get it right, nowadays i can use ansible (or just docker) to spawn a new mailcow instance and its even telling you what records for DKIM etc.). maybe its just me and i was just too afraid to host DNS myself earlier (same goes with LDAP, which you dont need in small setups) ... but often its sufficient to use overrides in your resolvers and reserve the full setup for later (whenever you feel comfortable and Monitoring is good too). ---------------------------------------------------------------------- noseshimself · 2023-10-27 22:51 I tired it with about 400 domains and so far it is looking good but it needs a lot more work; someone will have to write a serious command line tool as we all know that GUI tools are good for a few clicks here and there but serious work needs a terminal. ---------------------------------------------------------------------- phein4242 · 2023-10-28 08:53 But you got it done nevertheless ;-) Look, I get that learning stuff can be difficult, but it is worth it in the long run. Learn how a zonefile is structured is a onetime deal, and once you know, you dont need to depend on others anymore. Same can be said for almost all products. Computer and internet tech is all about layering abstractions on top of each other, each layer making the layer below it more easy to manage. But, it also shields you from attaining knowledge of the lower layers. There are two ways to handle that complexity. Top-down or bottom up. Imho, the least effort approach is to start at the bottom. This leads to a way higher learning curve when you start, but you will be able to fully comprehend and appreciate the layers above it. Doing it the other way around means it is easy to just get started, but it will break down very fast once the layers dont do what you want, and you will still need to climb the same steep learning curve then. The difference is, your stack will be broken until you learn ;-) The third option (which unfortunately is prevalent on this forum) is to outsource knowledge to hosters and (cloud)providers…