Getting Started
1. Download Docker
Since all components run in Docker, it is a requirement for bootDNS to have this installed, please see Dockers own guides at: https://docs.docker.com/engine/install/
2. Download bootDNS’s docker-compose file
We have made it easy to get up and running, simply download this file: docker-compose.yml to a folder where you want to keep the database files.
Example:
user@host:~$ mkdir -p /opt/bootDNS
user@host:~$ cd /opt/bootDNS
user@host:/opt/bootDNS$ wget 'https://raw.githubusercontent.com/bootDNS/admin/main/docker-compose.yml' -O docker-compose.yml
3. Generate your APP_KEY
bootDNS-admin is using a PHP framework called Laravel, this requires a APP_KEY to be used in encryption of variables/cookies/passwords. To get a unique key, run:
docker run --rm --entrypoint php ghcr.io/bootdns/admin:latest artisan key:generate --show
This will return something like:
base64:BAUup35vcapapEMV3m4+wL7+22Nu+oeLjEv4HpaxHvY=
In your newly downloaded docker-compose.yml file (step #2), open it with your favorite editor, and add your APP_KEY to the variable under admin “APP_KEY”, which is empty.
4. Start it up!
If you followed the docker installation guide, and you have populated your docker-compose.yml file with your APP_KEY, you should be good to go:
docker-compose up -d
This will create the required containers; MariaDB for database, influxDB for DNS metrics, and the admin module. Too see if its all running:
user@host:~$ docker ps
f3d13cc3b955 bootdns/admin:latest "bash run.sh" 33 seconds ago Up 31 seconds (healthy) 0.0.0.0:80->80/tcp, :::80->80/tcp bootdns-admin-1
ee74597810cd influxdb:2.2 "/entrypoint.sh infl…" 34 seconds ago Up 32 seconds 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp bootdns-influxdb-1
040fb3c3ef61 mariadb:latest "docker-entrypoint.s…" 34 seconds ago Up 32 seconds 3306/tcp bootdns-mariadb-1
You should now be able to access it via: http://HOSTNAME, default username/password is: admin / password
5. Setup your dns agent!
Now that you have the admin interface up and running, click on the nameservers tab, generate a token and check out the guide for the agent, here