Sign inSign up

hj443729425433/dns-panel

By hj443729425433

•Updated about 2 months ago

Image
0

92

hj443729425433/dns-panel repository overview

⁠DNS Panel

一个前后端一体的 DNS 管理面板,支持多家 DNS 服务商、Cloudflare Tunnel、Tunnel 优选、一键加速、SaaS 优选、Custom Hostname 和证书管理。

⁠快速启动

mkdir -p dns-panel-data

docker run -d \
  --name dns-panel \
  --restart unless-stopped \
  -p 3000:3000 \
  -e JWT_SECRET="$(openssl rand -base64 48)" \
  -e ENCRYPTION_KEY="$(openssl rand -hex 16)" \
  -e DATABASE_URL=file:/app/data/database.db \
  -v "$(pwd)/dns-panel-data:/app/data" \
  hj443729425433/dns-panel:latest

打开:http://localhost:3000⁠

健康检查:http://localhost:3000/health⁠

首次进入后注册账号,再到「设置」添加 DNS / Cloudflare 凭证。

⁠数据与升级

  • 数据库只保存在挂载目录 /app/data,镜像不包含任何用户数据、Token 或 .env。

  • 升级前备份 dns-panel-data/database.db。

  • 升级镜像并重建容器:

    docker pull hj443729425433/dns-panel:latest
    docker rm -f dns-panel
    docker run -d \
      --name dns-panel \
      --restart unless-stopped \
      -p 3000:3000 \
      -e JWT_SECRET="替换为固定的随机字符串" \
      -e ENCRYPTION_KEY="替换为固定的 32 字符密钥" \
      -e DATABASE_URL=file:/app/data/database.db \
      -v "$(pwd)/dns-panel-data:/app/data" \
      hj443729425433/dns-panel:latest
    

生产环境必须长期保留同一组 JWT_SECRET 和 ENCRYPTION_KEY,否则已有登录会话和加密凭证无法继续使用。

⁠主要功能

  • 多 DNS 服务商:Cloudflare、华为云、阿里云、DNSPod、UCloud 等。
  • Cloudflare Tunnel:创建 Tunnel、配置 Public Hostname、CIDR/Hostname 路由和 Connector。
  • Tunnel 优选:本地服务通过 Cloudflare Tunnel 接入,可选择优选线路。
  • 一键加速:访问域名 CNAME 到优选域名,源站 DNS 只读检查。
  • SaaS 优选:Cloudflare for SaaS Custom Hostname、Fallback Origin 和 Cache Rule。
  • 证书中心:ACME 申请、DNS 验证、续期和部署。

⁠Cloudflare 权限

根据使用的功能,为 API Token 添加对应权限:

  • 基础 DNS:Zone Read、Zone DNS Edit。
  • Custom Hostname / SaaS:Zone SSL and Certificates Edit、Zone Cache Rules/Rulesets Read/Edit。
  • Tunnel:Account Cloudflare Tunnel Edit。

如果 SaaS 的访问域名不属于 SaaS Zone,访问域名需要 CNAME 到 SaaS Zone 内的入口别名,再由该别名指向实际优选线路。

⁠常用命令

docker logs -f dns-panel
docker restart dns-panel
docker stop dns-panel

镜像标签:

hj443729425433/dns-panel:latest

Tag summary

Content type

Image

Digest

sha256:e6cb98cbf…

Size

463.7 MB

Last updated

about 2 months ago

docker pull hj443729425433/dns-panel