一个前后端一体的 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/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,否则已有登录会话和加密凭证无法继续使用。
根据使用的功能,为 API Token 添加对应权限:
Zone Read、Zone DNS Edit。Zone SSL and Certificates Edit、Zone Cache Rules/Rulesets Read/Edit。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
Content type
Image
Digest
sha256:e6cb98cbf…
Size
463.7 MB
Last updated
about 2 months ago
docker pull hj443729425433/dns-panel