
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
[!TIP] No new features are currently planned for this project. However, users are welcome to create issues or feature requests, which will be reviewed and responded to within 1–3 weeks.
***d9 Web Manager (DNSHTTP) is a web-based management interface for ***D9 DNS servers. It centralizes domain and record management, server replication, security controls, and operational insights into a single platform — making DNS administration more straightforward for both single-server setups and multi-server architectures.
DNSHTTP supports hybrid server configurations, where a single server acts as both a Master and a Slave simultaneously. This is useful for reducing infrastructure complexity while still maintaining proper replication across your DNS architecture.
To set up a hybrid environment, deploy the software on both servers. On the Master server, configure the Slave Server entry, and on the Slave server, configure the Master Server entry. Once both sides are configured, the servers can replicate with each other bidirectionally as needed.
DNSHTTP can operate as a dedicated DNS control panel alongside existing hosting panels such as Virtualmin, Plesk, ISPConfig, and others — managing your ***d9 DNS layer independently without interfering with your existing stack🔌. In Docker environments, only the standalone deployment is supported, which is also the case when installing via the setup script .
To deploy the Docker image bugfishtm/dnshttp:latest using a single command, you can use the following:
dockerservices: dnshttp: image: bugfishtm/dnshttp:latest restart: always ports: - "80:80/tcp" - "443:443/tcp" - "53:53/tcp" - "53:53/udp" - "953:953/tcp" - "953:953/udp" - "853:853/tcp" volumes: - dnshttp-ssl:/opt/sf_ssl - dnshttp-certbot:/etc/letsencrypt - dnshttp-data:/var/www/html/_data - dnshttp-mysql:/var/lib/mysql environment: TZ: "${sf_timezone}" sf_ct_update_on_start: "${sf_ct_update_on_start}" sf_timezone: "${sf_timezone}" sf_db_pass: "${sf_db_pass}" sf_url: "${sf_url}" sf_secret: "${sf_secret}" sf_letsencrypt_enable: "${sf_letsencrypt_enable}" sf_letsencrypt_domain: "${sf_letsencrypt_domain}" sf_letsencrypt_email: "${sf_letsencrypt_email}" sf_db_host: "${sf_db_host}" sf_db_db: "${sf_db_db}" sf_db_user: "${sf_db_user}" sf_db_port: "${sf_db_port}" sf_db_prefix: "${sf_db_prefix}" sf_cookie_prefix: "${sf_cookie_prefix}" PHP_OPCACHE_ENABLE: "${APS_PHP_OPCACHE_ENABLE}" PHP_OPCACHE_MEMORY_CONSUMPTION: "${APS_PHP_OPCACHE_MEMORY_CONSUMPTION}" PHP_OPCACHE_MAX_ACCELERATED_FILES: "${APS_PHP_OPCACHE_MAX_ACCELERATED_FILES}" PHP_OPCACHE_VALIDATE_TIMESTAMPS: "${APS_PHP_OPCACHE_VALIDATE_TIMESTAMPS}" PHP_OPCACHE_JIT: "${APS_PHP_OPCACHE_JIT}" PHP_OPCACHE_JIT_BUFFER_SIZE: "${APS_PHP_OPCACHE_JIT_BUFFER_SIZE}" PHP_ZLIB_OUTPUT_COMPRESSION: "${APS_PHP_ZLIB_OUTPUT_COMPRESSION}" PHP_OUTPUT_BUFFERING: "${APS_PHP_OUTPUT_BUFFERING}" PHP_FPM_PM: "${APS_PHP_FPM_PM}" PHP_FPM_PM_MAX_CHILDREN: "${APS_PHP_FPM_PM_MAX_CHILDREN}" PHP_FPM_PM_START_SERVERS: "${APS_PHP_FPM_PM_START_SERVERS}" PHP_FPM_PM_MIN_SPARE_SERVERS: "${APS_PHP_FPM_PM_MIN_SPARE_SERVERS}" PHP_FPM_PM_MAX_SPARE_SERVERS: "${APS_PHP_FPM_PM_MAX_SPARE_SERVERS}" PHP_FPM_PM_MAX_REQUESTS: "${APS_PHP_FPM_PM_MAX_REQUESTS}" MYSQL_INNODB_BUFFER_POOL_SIZE: "${APS_MYSQL_SETUP_BUFFER_POOL_SIZE}" APS_MYSQL_TABLE_OPEN_CACHE: "${APS_MYSQL_TABLE_OPEN_CACHE}" APS_MYSQL_SETUP_BUFFER_POOL_INSTANCES: "${APS_MYSQL_SETUP_BUFFER_POOL_INSTANCES}" APS_MYSQL_SETUP_LOG_SIZE: "${APS_MYSQL_SETUP_LOG_SIZE}" APS_MYSQL_MAX_CONN: "${APS_MYSQL_MAX_CONN}" APS_MYSQL_FLUSH_TRX_COMMIT: "${APS_MYSQL_FLUSH_TRX_COMMIT}" APS_MYSQL_CAPACITY: "${APS_MYSQL_CAPACITY}" volumes: dnshttp-ssl: dnshttp-certbot: dnshttp-mysql: dnshttp-data:
env## ## DNSHTTP Docker Env Variable File ## ## ## Time Zone Setup ## Set up Timezone like example: Europe/Berlin ## Use tz identifiers from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones ## sf_timezone="Europe/Berlin" ## ## Database Password for Root Account ## Do not only use following signs: ## A-Z a-z 0-1 ! = ? ## sf_db_pass="secret_mysql_password" ## ## Secret Key Configuration ## This key is required to encrypt DNSHTTP data. ## Changing the key while the instance is running will make existing ## encrypted data inaccessible. Keep this key safe and never lose it! ## Do not use more than 32 Signs. ## sf_secret="generate_your_secret_key" ## ## Public URL where this website will be visible on. ## DNSHTTP may not depend on this setting and will use auto-fetched current site url. ## So get sure to set up your reverse proxy to get a valid connection. ## Can be HTTP/HTTPS URL, DNSHTTP should not be installed in a websites sub-folder. ## sf_url="http://localhost" ## ## Let's Encrypt Settings ## Enable or disable automatic Let's Encrypt SSL certificate issuance. ## - sf_letsencrypt_enable: Set to 1 to enable, 0 to disable. ## - sf_letsencrypt_domain: The domain name to issue the certificate for. ## - sf_letsencrypt_email: Email address for Let's Encrypt registration and notifications. ## sf_letsencrypt_enable=0 sf_letsencrypt_domain="localhost" sf_letsencrypt_email="localhost@localhost" ## ## Database Details for Connection ## Leave as it is, do only change if you know what you are doing! ## Currently you cannot change the port, its always 3306 ## Let me know on github when you need it changed, i will implement. ## sf_db_host="127.0.0.1" sf_db_db="dnshttp" sf_db_user="root" sf_db_prefix="sf_" sf_db_port=3306 ## ## DNSHTTP Cookie Prefix ## Do not change unless you know what you are doing. ## sf_cookie_prefix="sf_" ## ## Container upgrade settings ## Controls whether the container should automatically update and upgrade packages each time it starts. ## 1 = enable automatic updates/upgrades on startup ## 0 = skip update/upgrade steps on startup for faster boot ## sf_ct_update_on_start=0 ## ## Settings for MySQL Environment ## APS_MYSQL_SETUP_BUFFER_POOL_SIZE=2G APS_MYSQL_SETUP_BUFFER_POOL_INSTANCES=8 APS_MYSQL_SETUP_LOG_SIZE=256M APS_MYSQL_MAX_CONN=200 APS_MYSQL_FLUSH_TRX_COMMIT=2 APS_MYSQL_CAPACITY=2000 APS_MYSQL_TABLE_OPEN_CACHE=4000 ## ## Settings for PHP Environment ## APS_PHP_OUTPUT_BUFFERING=4096 APS_PHP_ZLIB_OUTPUT_COMPRESSION=1 APS_PHP_OPCACHE_ENABLE=1 APS_PHP_OPCACHE_MEMORY_CONSUMPTION=512 APS_PHP_OPCACHE_MAX_ACCELERATED_FILES=20000 APS_PHP_OPCACHE_VALIDATE_TIMESTAMPS=0 APS_PHP_OPCACHE_JIT=tracing APS_PHP_OPCACHE_JIT_BUFFER_SIZE=100M APS_PHP_FPM_PM=dynamic APS_PHP_FPM_PM_MAX_CHILDREN=50 APS_PHP_FPM_PM_START_SERVERS=10 APS_PHP_FPM_PM_MIN_SPARE_SERVERS=5 APS_PHP_FPM_PM_MAX_SPARE_SERVERS=20 APS_PHP_FPM_PM_MAX_REQUESTS=1000
| Volume | Description | Path on Container |
|---|---|---|
| dnshttp-certbot | Stores persistent certbot data. | /etc/letsencrypt |
| dnshttp-ssl | Stores persistent ssl data. | /opt/sf_ssl |
| dnshttp-mysql | Stores persistent mysql database data. | /var/lib/mysql |
| dnshttp-data | Stores persistent website data. | /var/www/html/_data |
| Port | Description |
|---|---|
| 80 | Port for HTTP Connections to website. |
| 443 | Port for HTTPS Connections to website. |
| 53 | DNS Related. |
| 853 | DNS Related. |
| 953 | DNS Related. |
Delivers the essential tools to effectively manage your site’s content, structure, and user roles—streamlined for simplicity, without unnecessary complexity. For a broad overview of its capabilities, refer to the feature list below.
The core of DNSHTTP is its domain and DNS record management. You can add, edit, and remove domains along with all of their associated DNS records directly through the web interface, without manually editing zone files or reloading services by hand.
The software features a robust user and group management system, enabling administrators to efficiently create, organize, and manage both users and user groups. With flexible permission controls, administrators can assign specific access rights to groups and individual users, ensuring secure and streamlined management of user privileges across the platform.
DNSHTTP gives you direct control over the replication process between your Master and Slave DNS servers, with real-time status updates so you can monitor the state of your replication at a glance.
DNSHTTP includes built-in IP blacklisting to help protect your DNS infrastructure from suspicious or unauthorized activity. When a threat is identified, the offending IP can be banned directly through the interface. Bans can be lifted manually at any time, or you can set up the blacklist.php cronjob to automate blacklisting resets on a scheduled basis.
Beyond basic replication controls, DNSHTTP provides detailed insights into the state of your replication and domain configuration. This gives you the visibility needed to make informed decisions, catch issues early, and proactively manage your DNS replication strategy across all connected servers.
DNSHTTP exposes an API interface secured with tokens, allowing external systems and scripts to perform DNS operations programmatically. This makes it straightforward to integrate DNS management into your existing workflows, automation pipelines, or third-party tooling.
The installation process is simplified through a clear and intuitive graphical user interface (GUI), making setup quick and accessible for users with minimal technical experience. Additionally, advanced users can choose from alternative installation methods such as Docker containers or automated scripts, providing flexible deployment options to suit different environments and preferences.
Below are the requirements for the webserver. Additional default installed linux and php modules are required as openssl and more, usually they are already installed by default and so not listed here.
| Requirement | Minimum Value | Recommended Value |
|---|---|---|
| Server Root Access | Required | - |
| Linux Package: ***d9 | Required | - |
| Linux Package: cron | Required | - |
| Linux Package: ***d9-utils | Required | - |
| Linux Package: dnsutils | Required | - |
| Linux Package: php8.2(+) | Required | - |
| Apache2 Module: headers | Required | - |
| Apache2 Module: rewrite | Required | - |
| PHP Memory Limit | 128M | 256M |
| PHP Max Post Size | 128M | 256M |
| PHP Max Execution Time | 180s | 600s |
| PHP Module: MySQLi | Enabled | - |
| PHP Module: JSON | Enabled | - |
| PHP Module: mbstring | Enabled | - |
| PHP Module: cURL | Enabled | - |
| PHP Module: intl | Enabled | - |
| PHP Module: session | Enabled | - |
You can see detailed information at the installation documentation page at: https://bugfishtm.github.io/***d9-Web-Manager/installation.html. Choose the method that best fits your hosting environment and needs.
The initial user account created for the website during installation serves as the primary administrator. This account has full access to configure and manage the system. It is important to secure this account by updating its credentials pro***ly after installation to protect the site from unauthorized access.
🧍 Initial username: admin 🔑 Initial password: changeme
*** setting up additional user accounts with appropriate roles and permissions to ensure proper administration and security management going forward.
⚠️ It is highly recommended to change the admin password immediately after installation.
Installing the ***d9 Web Manager is straightforward. For detailed instructions on manual installation, please refer to the documentation located in the index.html file within the repository's docs folder, or visit https://bugfishtm.github.io/***d9-Web-Manager/installation_manual.html.
⚠️ It is highly recommended to change the admin password immediately after installation.
This method installs the standalone version of DNSHTTP. This ensures a secure and isolated installation suitable for most web use cases. For Docker installation, visit: https://hub.docker.com/r/bugfishtm/dnshttp.
⚠️ It is highly recommended to change the admin password immediately after installation.
This script is intended for use only on freshly installed servers. In the github repository's _scripts folder, you'll find an installation script designed to install the full version with all features on a dedicated server. Execute the following Commands and navigate through the installation shell process to install DNSHTTP.
bashcurl -o ./installer.sh https://raw.githubusercontent.com/bugfishtm/Bind9-Web-Manager/refs/heads/main/_scripts/installer.sh chmod u+x ./installer.sh sh ./installer.sh install
This script is intended for users who wish to utilize standalone functionality on a fresh system.
The following documentation is intended for both end-users and developers.
| Description | Link | Scope |
|---|---|---|
| DNSHTTP Tutorial Videos | [***] | Developers/Users |
| DNSHTTP Tutorial Videos (Local) | ./_videos | Developers |
| DNSHTTP Documentation | https://bugfishtm.github.io/***d9-Web-Manager/ | Developers/Users |
| DNSHTTP Documentation (Local) | ./docs/index.html | Developers/Users |
| Bugfish Framework Documentation | https://bugfishtm.github.io/***d9-Web-Manager/extra-framework/ | Developers |
| Bugfish Framework Documentation (Local) | ./docs/extra-framework/index.html | Developers |
Relevant github repositories related to ***d9 Web Manager.
| Description | Link | Scope |
|---|---|---|
| ***d9 Web Manager | https://github.com/bugfishtm/***d9-Web-Manager | Developers |
| Bugfish Framework | https://github.com/bugfishtm/bugfish-framework | Developers |
Relevant docker repositories related to ***d9 Web Manager.
| Description | Link | Scope |
|---|---|---|
| DNSHTTP Docker Image | https://hub.docker.com/r/bugfishtm/dnshttp | Users |
This table provides an overview of key files and folders related to the repository. Click on the links to access each file for more detailed information. If certain folders are missing from the repository, they are irrelevant to this project.
| Document Type | Description |
|---|---|
| .git/ | Internal file, that can be ignored. |
| .github/ | Internal file, that can be ignored. |
| .github/CODE_OF_CONDUCT.md | community guidelines for participation. |
| _archive/ | Folder for storing archived or deprecated files. |
| _changelogs/ | Folder containing changelogs for version tracking. |
| _configuration/ | Settings.php configuration examples for different environments. |
| _docker/ | Folder with Docker-related files for building images. |
| _images/ | Folder containing project images and graphics. |
| _licenses/ | Folder with third-party license information. |
| _releases/ | Folder containing release versions of the project. |
| _screenshots/ | Folder with screenshots of the project. |
| _scripts/ | Folder for additional scripts and utilities. |
| _source/ | Folder containing the main source code. |
| _videos/ | Folder with project-related videos. |
| docs/ | Folder for documentation and guides. |
| .gitattributes | Internal file, that can be ignored. |
| .gitignore | Internal file, that can be ignored. |
| repository_reset.bat | Internal file, that can be ignored. |
| repository_update.bat | Internal file, that can be ignored. |
| CHANGELOG.md | Internal file, that can be ignored. |
| CONTRIBUTING.md | contributors instruction file. |
| SECURITY.md | security and warranty file. |
| LICENSE.md | license file. |
| README.md | readme file. |
If you encounter any issues or have questions while using this software, feel free to contact us:
Help us grow by sharing this project with others! You can:
Refer to the _changelogs folder for detailed HTML changelogs tracking updates across versions. These changelogs are also included in GitHub Releases for easy access.
Thank you for your interest in this project.
At this time, this repository is not open for external contributions.
Please do not submit pull requests or patches.
If you encounter a bug or have an enhancement suggestion, please check the "Issues" section of our GitHub repository or visit our official website for guidance before beginning any work on it.
We’re focused on developing innovative solutions and advancing technology. By being part of this, you contribute to our progress.
Positive guidelines include being kind, empathetic, and respectful in all interactions. It is important to engage thoughtfully and offer constructive, solution-oriented feedback. Fostering an environment of collaboration, support, and mutual respect is essential.
Unacceptable behaviors include harassment, hate speech, or offensive language. Personal ***s, discrimination, or any form of bullying are not tolerated. Sharing private or sensitive information without explicit consent is strictly prohibited.
Together, we can partner to achieve common goals by following guidelines designed to promote effective collaboration and positive teamwork.
I take security seriously and appreciate responsible disclosure. If you discover a vulnerability, please follow these steps:
I aim to acknowledge reports within 2–4 weeks and will update you on our progress once the issue is verified and addressed.
This software is provided as-is, without any guarantees of security, reliability, or fitness for any particular purpose. We do not take responsibility for any damage, data loss, security breaches, or other issues that may arise from using this software. By using this software, you agree that We are not liable for any direct, indirect, incidental, or consequential damages. Use it at your own risk.
The license for this software can be found in the LICENSE.md file. Third-party licenses are located in the ./_licenses folder. The software may also include additional licensed software or libraries.
🐟 Bugfish
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务