{"id":13749850,"url":"https://github.com/poweradmin/poweradmin","last_synced_at":"2026-05-10T20:05:11.160Z","repository":{"id":37752164,"uuid":"1482150","full_name":"poweradmin/poweradmin","owner":"poweradmin","description":"A web-based control panel for PowerDNS","archived":false,"fork":false,"pushed_at":"2026-01-27T20:36:11.000Z","size":79590,"stargazers_count":818,"open_issues_count":60,"forks_count":293,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-01-28T07:39:01.170Z","etag":null,"topics":["dns-administration","pdns","powerdns","powerdns-admin","powerdns-web-gui","powerdns-webui","web-application"],"latest_commit_sha":null,"homepage":"http://www.poweradmin.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/poweradmin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"edmondas","open_collective":"poweradmin","custom":["https://paypal.me/egirkantas"]}},"created_at":"2011-03-15T10:17:43.000Z","updated_at":"2026-01-27T20:36:17.000Z","dependencies_parsed_at":"2023-02-19T15:30:40.869Z","dependency_job_id":"a706dfda-c33a-4838-9573-d2349c54cb4d","html_url":"https://github.com/poweradmin/poweradmin","commit_stats":{"total_commits":2445,"total_committers":95,"mean_commits":"25.736842105263158","dds":0.4302658486707567,"last_synced_commit":"577b11f6b162c08ce0a26cb03eca5fad84576f81"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/poweradmin/poweradmin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poweradmin%2Fpoweradmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poweradmin%2Fpoweradmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poweradmin%2Fpoweradmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poweradmin%2Fpoweradmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/poweradmin","download_url":"https://codeload.github.com/poweradmin/poweradmin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poweradmin%2Fpoweradmin/sbom","scorecard":{"id":489419,"data":{"date":"2025-08-11","repo":{"name":"github.com/poweradmin/poweradmin","commit":"4d5ea5bbcb666d4f773c3c6f03c1cdfb92ec6154"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v4.0.1 not signed: https://api.github.com/repos/poweradmin/poweradmin/releases/237755655","Warn: release artifact v4.0.1 does not have provenance: https://api.github.com/repos/poweradmin/poweradmin/releases/237755655"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: vendor/symfony/console/Resources/bin/hiddeninput.exe:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: vendor/symfony/console/Resources/completion.bash:0","Warn: containerImage not pinned by hash: Dockerfile:41: pin your Docker image by updating dunglas/frankenphp:latest-alpine to dunglas/frankenphp:latest-alpine@sha256:5bd857d2d22dc41f1e4c332f7f5cfc11a62b3ab9ebe4ec9f012c32f47acc47aa","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cq8c-xv66-36gw","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T18:40:08.242Z","repository_id":37752164,"created_at":"2025-08-19T18:40:08.242Z","updated_at":"2025-08-19T18:40:08.242Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28975278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T09:57:52.632Z","status":"ssl_error","status_checked_at":"2026-02-01T09:57:49.143Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns-administration","pdns","powerdns","powerdns-admin","powerdns-web-gui","powerdns-webui","web-application"],"created_at":"2024-08-03T07:01:15.160Z","updated_at":"2026-05-10T20:05:11.150Z","avatar_url":"https://github.com/poweradmin.png","language":"PHP","funding_links":["https://github.com/sponsors/edmondas","https://opencollective.com/poweradmin","https://paypal.me/egirkantas"],"categories":["PHP","others"],"sub_categories":[],"readme":"# Poweradmin\n\n[![release](https://img.shields.io/github/v/release/poweradmin/poweradmin)](https://github.com/poweradmin/poweradmin/releases)\n[![validations](https://github.com/poweradmin/poweradmin/actions/workflows/php.yml/badge.svg)](https://github.com/poweradmin/poweradmin/actions/workflows/php.yml)\n[![license](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![php version](https://img.shields.io/badge/php-8.2%2B-blue)](https://www.php.net/)\n[![docker pulls](https://img.shields.io/docker/pulls/poweradmin/poweradmin)](https://hub.docker.com/r/poweradmin/poweradmin)\n[![docker image size](https://img.shields.io/docker/image-size/poweradmin/poweradmin)](https://hub.docker.com/r/poweradmin/poweradmin)\n\n[Poweradmin](https://www.poweradmin.org) is a friendly web-based DNS administration tool for PowerDNS server. The\ninterface supports most of\nthe features of PowerDNS. It is a hybrid solution that uses SQL for most operations and has PowerDNS API support for\nDNSSEC operations.\n\n## Features\n\n- Supports all zone types (master, native, and slave)\n- Supermasters for automatic provisioning of slave zones\n- Zone templates for quick zone creation\n- Bulk operations for records and reverse DNS\n- Zone metadata editor for PowerDNS `domainmetadata`, including multi-value metadata kinds\n- IPv6 support\n- Multi-language support (15+ languages)\n- DNSSEC operations via PowerDNS API\n- Light and dark themes\n- Search functionality across zones and records\n- User and permission management with role-based access\n- Ability to add reverse records\n- Authentication options:\n  - Local database authentication\n  - LDAP authentication with custom filter\n  - SAML and OIDC authentication\n  - Multi-factor authentication (MFA/2FA) with TOTP\n- RESTful API with OpenAPI documentation (used by Terraform/OpenTofu provider)\n- Docker deployment with FrankenPHP\n\n## Screenshots\n\n### Login Screen\n\n![Login interface with multi-language and MFA support](https://docs.poweradmin.org/screenshots/theme-light.png)\n\n### Dashboard\n\n![Dashboard with quick actions and navigation](https://docs.poweradmin.org/screenshots/dashboard.png)\n\n### Zone Management\n\n![Zone list with sorting and filtering](https://docs.poweradmin.org/screenshots/zone-list.png)\n\n### Zone Editor\n\n![Zone editor with inline record management](https://docs.poweradmin.org/screenshots/zone-editor.png)\n\n### Zone Metadata Editor\n\nPoweradmin includes a zone metadata editor for PowerDNS `domainmetadata`. The editor supports:\n\n- selecting known metadata kinds with inline guidance\n- entering custom metadata kinds when needed\n- multi-value metadata such as `ALLOW-AXFR-FROM` using one row per value\n\n## Installation\n\nFor detailed installation instructions, please visit [the official documentation](https://docs.poweradmin.org/installation/).\n\n### Traditional Installation\n\n* **Recommended method - via releases**:\n    * Get the latest stable release from [releases](https://github.com/poweradmin/poweradmin/releases)\n* **For specific needs - via Git**:\n    * **Warning**: The master branch is used for development of the next major release and may be unstable. For production use, stick with the `release/4.2.x` branch or a specific version tag (e.g. `v4.2.1`), or use the `stable` Docker tag.\n\n### Docker Deployment\n\n**Quick Start with Docker**:\n```bash\ndocker run -d \\\n  --name poweradmin \\\n  -p 8080:80 \\\n  -e DB_TYPE=sqlite \\\n  -e PA_CREATE_ADMIN=1 \\\n  poweradmin/poweradmin:latest\n```\n\n**Important**:\n- DB_TYPE environment variable is required (sqlite, mysql, pgsql)\n- 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)\n\n* **Docker Hub**: `poweradmin/poweradmin`\n* **GitHub Container Registry**: `ghcr.io/poweradmin/poweradmin`\n* **Full documentation**: [DOCKER.md](DOCKER.md)\n* **Security with Docker Secrets**: [DOCKER-SECRETS.md](DOCKER-SECRETS.md)\n\nFeatures: Multi-database support (SQLite, MySQL, PostgreSQL), Docker secrets integration, FrankenPHP for enhanced performance.\n\n## Requirements\n\n* PHP 8.2 or higher (including 8.3, 8.4, 8.5, etc.)\n* PHP extensions: intl, gettext, openssl, filter, tokenizer, pdo, xml, pdo-mysql/pdo-pgsql/pdo-sqlite, ldap (optional)\n* MySQL 5.7.x/8.x, MariaDB, PostgreSQL or SQLite database\n* PowerDNS authoritative server 4.0.0+ (including 4.x and 5.x series)\n\n## Tested on\n\n**Officially tested versions:**\n- **release/4.3.x (pre-release)**: PHP 8.2, PowerDNS 4.9.12, MariaDB 10.11, PostgreSQL 16.11\n- **release/4.2.x (stable)**: PHP 8.2, PowerDNS 4.9.12, MariaDB 10.11, PostgreSQL 16.11\n- **release/3.x (LTS)**: PHP 8.1, PowerDNS 4.7.4, MariaDB 10.11, MySQL 9.1, PostgreSQL 16.3, SQLite 3.45\n\n**User-reported compatibility:**\n- PowerDNS 4.8.x, 4.9.x, and 5.0.x series have been reported to work correctly by community users\n\n**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.\n\n## Version Support\n\nPoweradmin maintains multiple release branches:\n\n| Branch | Status | Support |\n|--------|--------|---------|\n| `develop` | Experimental | 4.5.x experimental features, may be unstable |\n| `master` | Development | 4.4.x next release development |\n| `release/4.3.x` | Pre-release | 4.3.x stabilizing for upcoming release |\n| `release/4.2.x` | Stable | Current stable, patch releases and security updates |\n| `release/4.1.x` | Maintenance | Security updates only |\n| `release/4.0.x` | Maintenance | Security updates only |\n| `release/3.x` | LTS | Bug fixes and security updates until December 2027 |\n\n### PHP Version Support\n\n**Important:** Starting with version 4.2.x, the minimum required PHP version is **8.2**. PHP 8.1 is no longer supported.\n\n### Long-Term Support (LTS)\n\nThe **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.\n\nFor more details, see the [Poweradmin in 2025: Year in Review](https://www.poweradmin.org/p/poweradmin-in-2025-year-in-review) blog post.\n\n## Contributing\n\nWe welcome contributions to Poweradmin! As the sole maintainer of this non-profit project, I work alongside our amazing [contributors](https://github.com/poweradmin/poweradmin/graphs/contributors). See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Support the Project\n\nPoweradmin is independently developed and maintained. Your support helps keep the project alive and growing.\n\n[![JetBrains logo.](https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg)](https://jb.gg/OpenSourceSupport)\n\nJetBrains provides IDE licenses used for development of this project.\n\n### Organizations Supporting Development\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"200\"\u003e\n      \u003ca href=\"https://www.pyur.com/business\"\u003e\n        \u003cimg src=\"https://docs.poweradmin.org/img/sponsors/pyur.svg\" alt=\"PYUR\" height=\"40\"\u003e\n      \u003c/a\u003e\n      \u003cbr\u003eHLkomm Telekommunikations GmbH\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"200\"\u003e\n      \u003ca href=\"https://iram-institute.org/\"\u003e\n        \u003cimg src=\"https://docs.poweradmin.org/img/sponsors/iram.svg\" alt=\"IRAM\" height=\"40\"\u003e\n      \u003c/a\u003e\n      \u003cbr\u003eIRAM\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"200\"\u003e\n      \u003ca href=\"https://www.stepping-stone.ch/\"\u003e\n        \u003cimg src=\"https://docs.poweradmin.org/img/sponsors/stepping-stone.svg\" alt=\"stepping stone AG\" height=\"40\"\u003e\n      \u003c/a\u003e\n      \u003cbr\u003estepping stone AG\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"200\"\u003e\n      \u003ca href=\"https://vistec.net/\"\u003e\n        \u003cimg src=\"https://docs.poweradmin.org/img/sponsors/vistec.png\" alt=\"VISTEC Internet Service GmbH\" height=\"40\"\u003e\n      \u003c/a\u003e\n      \u003cbr\u003eVISTEC Internet Service GmbH\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"200\"\u003e\n      \u003ca href=\"https://www.ybaca.net/\"\u003e\n        \u003cimg src=\"https://docs.poweradmin.org/img/sponsors/ybaca.svg\" alt=\"yBaca s.r.o.\" height=\"40\"\u003e\n      \u003c/a\u003e\n      \u003cbr\u003eyBaca s.r.o.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Individual Donors\n\n* Stefano Rizzetto\n* Asher Manangan\n* Michiel Visser\n* Gino Cremer\n* Arthur Mayer\n* Dylan Blanqué\n* Tony Johnson\n* Deeefje\n\nFor feature sponsorship, to speed up development of specific features, or to discuss ideas and issues, please [contact me](https://github.com/edmondas). Donations via invoice are also possible for organizations within the EU.\n\n## Related Projects\n\n* [terraform-provider-poweradmin](https://github.com/poweradmin/terraform-provider-poweradmin) - Terraform/OpenTofu provider for managing DNS zones and records through Poweradmin\n* [certbot-dns-poweradmin](https://github.com/poweradmin/certbot-dns-poweradmin) - Certbot DNS plugin for Poweradmin to automate Let's Encrypt certificate issuance with DNS-01 challenge\n* [external-dns-poweradmin-webhook](https://github.com/poweradmin/external-dns-poweradmin-webhook) - ExternalDNS webhook provider for Poweradmin to synchronize Kubernetes DNS records\n* [cert-manager-webhook-poweradmin](https://github.com/poweradmin/cert-manager-webhook-poweradmin) - cert-manager webhook solver for Poweradmin to automate DNS-01 challenge validation\n\n## Note\n\nPoweradmin is an independent community project, not affiliated with [PowerDNS.com](https://www.powerdns.com/index.html) or [Open-Xchange](https://www.open-xchange.com).\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoweradmin%2Fpoweradmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoweradmin%2Fpoweradmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoweradmin%2Fpoweradmin/lists"}