Skip to content

xxl4/gundns-admin

Repository files navigation

GunDNS-Admin

A GunDNS web interface with advanced features.

CodeQL Docker Image

Features:

  • Provides forward and reverse zone management
  • Provides zone templating features
  • Provides user management with role based access control
  • Provides zone specific access control
  • Provides activity logging
  • Authentication:
    • Local User Support
    • SAML Support
    • LDAP Support: OpenLDAP / Active Directory
    • OAuth Support: Google / GitHub / Azure / OpenID
  • Two-factor authentication support (TOTP)
  • PDNS Service Configuration & Statistics Monitoring
  • DynDNS 2 protocol support
  • Easy IPv6 PTR record editing
  • Provides an API for zone and record management among other features
  • Provides full IDN/Punycode support

Running GunDNS-Admin

There are several ways to run GunDNS-Admin. The quickest way is to use Docker. If you are looking to install and run GunDNS-Admin directly onto your system, check out the wiki for ways to do that.

Docker

Here are two options to run GunDNS-Admin using Docker. To get started as quickly as possible, try option 1. If you want to make modifications to the configuration option 2 may be cleaner.

Option 1: From Docker Hub

To run the application using the latest stable release on Docker Hub, run the following command:

$ docker run -d \
    -e SECRET_KEY='a-very-secret-key' \
    -v pda-data:/data \
    -p 9191:80 \
    registry.ap-southeast-1.aliyuncs.com/kuops/gundsn-admin:latest

This creates a volume named pda-data to persist the default SQLite database with app configuration.

Option 2: Using docker-compose

  1. Update the configuration
    Edit the docker-compose.yml file to update the database connection string in SQLALCHEMY_DATABASE_URI. Other environment variables are mentioned in the legal_envvars. To use the Docker secrets feature it is possible to append _FILE to the environment variables and point to a file with the values stored in it.
    Make sure to set the environment variable SECRET_KEY to a long random string (https://flask.palletsprojects.com/en/1.1.x/config/#SECRET_KEY)

  2. Start docker container

    $ docker-compose up
    

You can then access GunDNS-Admin by pointing your browser to http://localhost:9191.

Screenshots

dashboard

Support

Looking for help? Try taking a look at the project's Support Guide or joining our Discord Server.

Security Policy

Please see our Security Policy.

Contributing

Please see our Contribution Guide.

Code of Conduct

Please see our Code of Conduct Policy.

License

This project is released under the MIT license. For additional information, see the full license.

Like my work?

Buy Me A Coffee