logo
0
0
WeChat Login
build(docker): add Docker support for production deployment

DNS 管理平台

多平台 DNS 解析管理工具,支持 Cloudflare、腾讯云 DNSPod 等主流 DNS 服务商。

功能特性

  • 多账户管理 - 支持添加多个 DNS 服务商账户
  • 域名管理 - 同步并管理各账户下的域名
  • DNS 记录管理 - 增删改查 DNS 解析记录
  • 用户认证 - 基于 Auth.js 的安全登录系统

支持的 DNS 服务商

服务商状态
Cloudflare
腾讯云 DNSPod
阿里云 DNS🚧

技术栈

  • 框架: Next.js 16 (App Router)
  • 数据库: Prisma + SQLite
  • 认证: Auth.js v5
  • UI: Tailwind CSS + Shadcn/ui
  • 表单: React Hook Form + Zod

快速开始

生产部署(Docker)

# 1. 生成密钥并创建 .env 文件 echo "AUTH_SECRET=$(openssl rand -base64 32)" > .env # 2. 启动服务 docker-compose up -d # 3. 查看日志 docker-compose logs -f

访问 http://localhost:3000

数据库文件存储在 ./data/dns-tools.db,自动持久化。

本地开发

# 安装依赖 pnpm install # 初始化数据库 pnpm exec prisma db push --url="file:./data/dns-tools.db" # 启动开发服务器 pnpm dev

访问 http://localhost:3000

环境变量

复制 .env.example.env 并配置:

# Auth.js 密钥(用于 session 签名和数据加密) # 生成方式: openssl rand -base64 32 AUTH_SECRET=your-secret-key

目录结构

src/ ├── app/ # 页面路由 │ ├── (auth)/ # 登录/注册 │ └── (dashboard)/ # 控制台页面 ├── components/ # React 组件 ├── lib/ │ └── dns/providers/ # DNS 服务商 SDK ├── server/actions/ # Server Actions └── schemas/ # Zod 验证

License

MIT