Skip to content

poweradmin/poweradmin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,502 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poweradmin

release validations license php version docker pulls docker image size

Poweradmin is a friendly web-based DNS administration tool for PowerDNS server. The interface supports most of the features of PowerDNS. It is a hybrid solution that uses SQL for most operations and has PowerDNS API support for DNSSEC operations.

Features

  • Supports all zone types (master, native, and slave)
  • Supermasters for automatic provisioning of slave zones
  • Zone templates for quick zone creation
  • Bulk operations for records and reverse DNS
  • IPv6 support
  • Multi-language support (15+ languages)
  • DNSSEC operations via PowerDNS API
  • Light and dark themes
  • Search functionality across zones and records
  • User and permission management with role-based access
  • Ability to add reverse records
  • Authentication options:
    • Local database authentication
    • LDAP authentication with custom filter
    • SAML and OIDC authentication
    • Multi-factor authentication (MFA/2FA) with TOTP
  • RESTful API with OpenAPI documentation (used by Terraform/OpenTofu provider)
  • Docker deployment with FrankenPHP

Screenshots

Login Screen

Login interface with multi-language and MFA support

Dashboard

Dashboard with quick actions and navigation

Zone Management

Zone list with sorting and filtering

Zone Editor

Zone editor with inline record management

Installation

For detailed installation instructions, please visit the official documentation.

Traditional Installation

  • Recommended method - via releases:
    • Get the latest stable release from releases
  • For specific needs - via Git:
    • Warning: The master branch is used for pre-release integration testing and may be unstable. For production use, stick with the stable release/4.0.x branch or use the stable Docker tag.

Docker Deployment

Quick Start with Docker:

docker run -d \
  --name poweradmin \
  -p 8080:80 \
  -e DB_TYPE=sqlite \
  -e PA_CREATE_ADMIN=1 \
  poweradmin/poweradmin:latest

Important:

  • DB_TYPE environment variable is required (sqlite, mysql, pgsql)
  • No admin user is created by default for security reasons. Use -e PA_CREATE_ADMIN=1 to create an admin user (a secure password will be auto-generated and shown in logs)
  • Docker Hub: poweradmin/poweradmin
  • GitHub Container Registry: ghcr.io/poweradmin/poweradmin
  • Full documentation: DOCKER.md
  • Security with Docker Secrets: DOCKER-SECRETS.md

Features: Multi-database support (SQLite, MySQL, PostgreSQL), Docker secrets integration, FrankenPHP for enhanced performance.

Requirements

  • PHP 8.2 or higher (including 8.3, 8.4, 8.5, etc.)
  • PHP extensions: intl, gettext, openssl, filter, tokenizer, pdo, xml, pdo-mysql/pdo-pgsql/pdo-sqlite, ldap (optional)
  • MySQL 5.7.x/8.x, MariaDB, PostgreSQL or SQLite database
  • PowerDNS authoritative server 4.0.0+ (including 4.x and 5.x series)

Tested on

Officially tested versions:

  • master (pre-release): PHP 8.2, PowerDNS 4.9.12, MariaDB 10.11, PostgreSQL 16.11
  • release/4.0.x (stable): PHP 8.2, PowerDNS 4.9.5, MariaDB 10.11, PostgreSQL 16.3
  • release/3.x (LTS): PHP 8.1, PowerDNS 4.7.4, MariaDB 10.11, MySQL 9.1, PostgreSQL 16.3, SQLite 3.45

User-reported compatibility:

  • PowerDNS 4.8.x, 4.9.x, and 5.0.x series have been reported to work correctly by community users

Compatibility note: Poweradmin operates primarily at the database level with PowerDNS, using the PowerDNS API only for DNSSEC operations. This design provides broad compatibility across PowerDNS versions, as the database schema remains relatively stable between releases.

Version Support

Poweradmin maintains multiple release branches:

Branch Status Support
develop Development Experimental features, unstable
master Pre-release Integration testing, may be unstable
release/4.1.x Current Latest release, stabilizing
release/4.0.x Stable 4.0.x bug fixes and security updates
release/3.x LTS Bug fixes and security updates until December 2027

PHP Version Support

Important: Starting with version 4.2.x, the minimum required PHP version is 8.2. PHP 8.1 is no longer supported.

Long-Term Support (LTS)

The 3.9.x branch is designated as Long-Term Support (LTS), starting with version 3.9.8. This branch will receive bug fixes and security updates for at least two years, providing a stable option for organizations that prefer stability over immediate upgrades.

For more details, see the Poweradmin in 2025: Year in Review blog post.

Contributing

We welcome contributions to Poweradmin! As the sole maintainer of this non-profit project, I work alongside our amazing contributors. See CONTRIBUTING.md for guidelines.

Support the Project

Poweradmin is independently developed and maintained. Your support helps keep the project alive and growing.

JetBrains logo.

JetBrains provides IDE licenses used for development of this project.

Organizations Supporting Development

PYUR
HLkomm Telekommunikations GmbH
IRAM
IRAM
stepping stone AG
stepping stone AG
VISTEC Internet Service GmbH
VISTEC Internet Service GmbH

Individual Donors

  • Stefano Rizzetto
  • Asher Manangan
  • Michiel Visser
  • Gino Cremer
  • Arthur Mayer
  • Dylan Blanqué
  • Tony Johnson
  • trendymail
  • Deeefje

For feature sponsorship, to speed up development of specific features, or to discuss ideas and issues, please contact me. Donations via invoice are also possible for organizations within the EU.

Related Projects

Note

Poweradmin is an independent community project, not affiliated with PowerDNS.com or Open-Xchange.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.