# Welcome to the documentation site of [atomdns](https://codeberg.org/miekg/dns/src/branch/main/cmd/atomdns), a flexible and fast DNS name server. It is written in [Go](http://go.dev). atomdns links [handlers](/handlers) together which then make up your DNS server. > atomdns is powered by chaining handlers. atomdns can serve data over DNS, DOT (DNS over TLS), DOH (DNS over HTTPS), and DOU (DNS over Unix [domain sockets]), with manual or automatic certificate management. > This site is a "wiki", click the pencil icon top right to make edits via Git and codeberg.org. This DNS data for this site is (of course) served by atomdns (see [the configuration](/starting/configuration#atomdns.miek.nl)) and the website is created with [hugo](https://gohugo.io) and served via [caddy](https://caddyserver.com). This entire stack runs on Go, and C for the Linux kernel. The focus for atomdns is running on your servers, serving your DNS data the way you want to. This the entire configuration for serving [miek.nl](https://miek.nl) and thus [atomdns.miek.nl](https://atomdns.miek.nl) (with some added comments). ```Caddyfile {linenos=true, title="Conffile of atomdns.miek.nl"} { # The global handler block defines process wide properties for atomdns. log { debug } root /etc/atomdns health metrics dns { addr [::]:53 } } # Here we define a reusable block. (observe) { metrics } # And another one for later use. (nlnetlabs) { transfer { to 185.49.140.62 2a04:b900::8:0:0:62 { source 2a10:3781:2dc2:3::53 } } } # The definition for the miek.nl zone. miek.nl { ecs # check for edns0 client subnet. log # log incoming queries. import observe # import allows using those predefined blocks from above. sign zones/miek.nl { # sign the miek.nl zone. ttl 60 key keys/Kmiek.nl.+008+33694 keys/Kmiek.nl.+013+05607 } dbfile zones/miek.nl.signed { # serve the signed miek.nl zone. import nlnetlabs } } ``` See [the configuration section](/starting/configuration) for a complete rundown of the configuration. We always appreciate your feedback and improvements. You can submit an issue or pull request on the [codeberg](https://codeberg.org/miekg/atomdns.miek.nl) repository for this website. atomdns can be [found at codeberg.org/miekg/dns](https://codeberg.org/miekg/dns). This site details the latest version of atomdns. A lof of things are documented directly in atomdns's [git repository](https://codeberg.org/miekg/dns), to avoid repeating things here (and keeping up to date), links to the authoritative source are preferred. {{% children sort="weight" depth=2 %}}