earaujoassis / dike

⚖️ Dike server is a really tiny dynamic DNS (DDNS) server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dike server Build Status

Dike server is a really tiny dynamic DNS (DDNS) server

Dike server is based on the PowerDNS Remote Backend: it makes available a backend HTTP server to provide queries answers to the DNS server; and a HTTP server to attend dynamic DNS (DDNS) clients. It uses the Actix web framework + Diesel ORM for the Rust language.

It doesn't follow any of the officials DynDNS Protocols but it is inspired by them.

Setup & Running

The current application uses MariaDB as the backend database. For development purposes, it is possible to start the dike-mariadb container if Docker + docker-compose is available through the following command: $ docker-compose up -d --build dike-mariadb. A .env file must be created, according to the .env.sample. After installing Rust and setting up Cargo, the following command will (1) install the diesel_cli binary (if that is not available); (2) migrate any new migration; and (3) compile the application and run it:

$ scripts/container.sh

The HTTP server's address will be printed in the console.

Another possibility is using docker-compose to start all services (including database):

$ docker-compose up --build

Testing & Linting

For testing (plus code coverage) and linting, you could run:

$ scripts/test.sh

Issues

Please take a look at /issues

License

MIT License © Ewerton Carlos Assis

About

⚖️ Dike server is a really tiny dynamic DNS (DDNS) server

License:MIT License


Languages

Language:Rust 74.4%Language:Python 16.7%Language:Shell 6.9%Language:TSQL 1.0%Language:Dockerfile 1.0%