The DNS ‘magic’ is basically a bash script which uploads the TinyDNS files to the Bytemark ‘Legacy’ DNS server - this then serves them, (assuming you’re the first one to upload records for that domain). Most of the magic there is running on the far end.
There’s not (yet) an equivalent for Mythic Beasts, but it’s being worked toward at the moment, with the integration of OctoDNS, which supports Mythic as well as other DNS providers.
For now, you’ll need to update the DNS manually via the relevant control panel.
It’s worth noting that there is an API too, if you want to programatically upload zone files (you’ll still need to generate them though):
There’s also a script linked to from that page to automatically sync the nameservers with your zone file, similar to Bytemark’s content DNS (that uses rsync, this script basically deletes all the existing records and adds all the ones in your zone file, in one atomic transaction).
Thanks for you kind assistance and advice but sadly my dns knowledge appears limited - probably because the dns magic just happens on the bytemark system. I have a test domain registered with 123 reg with the nameservers set to point at ns1.mythic-beasts.com and ns2.mythic-beasts.com - with bytemark this is really all that’s requried to get up and running
What further steps do I need to take so that I can get the site (hosed on mythic servers) to display? Please assume that I have zero knowledge in your response.
Effectively, you need to transpose the contents of /srv/example.com/config/dns/example.com.txt to the control panel of the DNS host you’re using.
If you open that file in a text editor, DNS Configuration Reference - Sympl Wiki will explain what each record means, but you’ll want the ‘=’ record for the domain itself, the ‘+www.’ and ‘+mx.’ records, and the ‘@’ record to receive mail and web traffic at the minimum.
There’s a very early ‘DNS audit’ script in progress at the moment, which checks what records are publicly visible and if they match what is expected, but it’s still some way off from being usable.
At the moment it’s fairly clunky, but further down the line, there will be proper integration of OctoDNS and so on, and this will be a lot easier.
Ah thanks it’s all now starting to make sense. I’ll take a look at setting up dns information with 123 Reg. Your clarity has helped me realise how this is supposed to work rather than how this is handled by B’mark.
Ok, I’ve created an account and the basis of the page. Will dig out my Ansible playbook and try to flesh out the page with the steps needed to publish the DNS to the Mythic Beasts DNS server using their API via OctoDNS.
Having come from a few months with Virtualmin, which sets up BIND9 authoritative DNS on the server, I’ve copied that idea on my Sympl based server. The tinydns file is ignored, and I hacked a bash script and small template file to create BIND zonefiles.
Will your audit script interfere with that, or complain about discrepancies?
And approaching the problem from a different angle: might Sympl in the future support this kind of self-hosted DNS? A utility to convert tinyDNS to zone file format might be a practical step, for example.
Great contribution with the documentation Andy. Am I correct in thinking that to take full advantage of OctoDNS that Mythic Beasts would need to be the domain’s registrar? If so, then fine for new domains but I don’t want the domain transfer hassle.
Or possibly not. I’ve just noticed the following ‘‘To add DNS for a domain without transferring registration, please add it as a 3rd party domain.’’
I have managed to setup web and email hosting on a simpl mythic beast vm for an external domain registered with 123 reg but really struggled to apply spf, dkim and dmarc
spf, dkim and dmarc are automagically setup when taking advantage of B’marks content dns service. Tell me whether this is the case when using the Mythic API ??
Sadly Sympl documentation is spartan and fragmented. One has to read across the wiki and Mythic docs to ascertain the art of the possible.
That’s correct. You just set up an ‘external’ domain in the Mythic Beasts domain panel. You can then use their API to publish DNS records for this domain.
All works seamlessly for me. Sympl creates the TinyDNS zone files as per normal (including and SPF, DKMI etc. records) and then OctoDNS syncs these up to the DNS servers using the Mythic Beasts DNS API.
So you have all this up and running with an external domain - thanks for the clarification I’ll do some more testing.
I’ve struggled so much with spf, dkim and dmarc that I’ve been contemplating installation of sympl on a Bytemark Debian 10 vanilla vm just to take advantage of their content dns and well documented infrastructure (secondary discs etc)
I notice the Bytemark forum has been taken offline, sad because it was a great source of info