
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Nakiri Electricity 是一个现代化、高颜值的宿舍电量监控面板。
它可以帮助你实时追踪特定房间的电力消耗情况,提供详细的图表分析、充值记录检测以及剩余可用天数估算。项目采用前后端分离架构(SERN Stack),并针对 Docker 部署进行了深度优化。
!https://raw.githubusercontent.com/Polaris-Leo/Nakiri-Electricity-Docker/refs/heads/main/assets/Dashboard.png
✨ 功能特性
📊 深度数据分析:
实时电量趋势图(支持平滑曲线与数据点交互)。
核心指标看板:当前余量、近3小时消耗、单日最大/最小消耗。
深度分析:24小时消耗、7天消耗、上次充值金额及时间、预计可用天数估算。
🎨 现代化 UI 设计:
基于 Tailwind CSS 的响应式布局,完美适配桌面与移动端。
原生支持 深色模式 (Dark Mode),随系统自动切换或手动切换。
丝滑的 Framer Motion 交互动画。
🐳 Docker 容器化:
支持通过环境变量 (ENV) 动态配置监控房间、楼栋信息和抓取地址。
数据持久化支持 (SQLite)。
多阶段构建,镜像体积小巧。
🤖 自动化运行:
后端内置 Cron 定时任务,每小时自动抓取最新数据。
智能识别充值行为(排除充值带来的电量跳变干扰消耗计算)。
🛠️ 技术栈
前端: React 18, Vite, Tailwind CSS, Recharts, Framer Motion, Lucide React
后端: Node.js, Express, Axios, Node-cron
数据库: SQLite3
🚀 Docker 部署
这是最简单的部署方式。无需安装 Node.js 环境,只需 Docker 即可。
使用命令从 Docker Hub 上拉取:
docker pull nakiripolaris/nakiri-electricity:latest
使用 docker run 启动服务。你需要通过 -e 参数传入房间配置。
完整配置:
你需要修改3个环境变量,替换成你自己的信息
docker run -d \ --name nakiri-electricity \ -p 这里替换成你的本机端口:8080 \ #(如:-p 8080:8080)(必填) -v 文件路径:/app/data \ #(如:-v $(pwd)/data:/app/data \)(用来存放数据库文件)(必填) -e PART_ID=校区 \ #(如:-e PART_ID=奉贤)(奉贤|徐汇) -e BUILD_ID=楼号 \ #(如:-e BUILD_ID=18 代表18号楼) -e ROOM_ID=宿舍号 \ #(如:-e ROOM_ID=101)(必填) -e ROOM_URL="(可选)如果出现数据错误,可以使用这条强制替换成获取的正确URL链接(获取方式最下面有)" \ #(如:-e ROOM_URL="https://yktyd.ecust.edu.cn/epay/wxpage/wanxiao/eleresult?sysid=1&roomid=101&areaid=2&buildid=1")(可选) nakiripolaris/nakiri-electricity:latest
访问地址: [***]
示例配置:
示例配置1:
奉贤校区,5号楼,202:
docker run -d \ -p 8080:8080 \ -v $(pwd)/data:/app/data \ -e PART_ID="奉贤" \ -e BUILD_ID="5" \ -e ROOM_ID="202" \ --name elec-monitor \ nakiripolaris/nakiri-electricity:latest
示例配置2:
徐汇校区,13号楼,405:
docker run -d \ -p 8080:8080 \ -v $(pwd)/data:/app/data \ -e PART_ID="徐汇" \ -e BUILD_ID="13" \ -e ROOM_ID="405" \ --name elec-monitor \ nakiripolaris/nakiri-electricity:latest
示例配置3:
特殊楼栋 (徐汇南区4A):
docker run -d \ -p 8080:8080 \ -v $(pwd)/data:/app/data \ -e PART_ID="徐汇" \ -e BUILD_ID="南区4A" \ -e ROOM_ID="101" \ nakiripolaris/nakiri-electricity:latest
示例配置4(旧版,不推荐):
奉贤校区,1号楼,101:
docker run -d \ --name nakiri-electricity \ -p 8080:8080 \ -v $(pwd)/data:/app/data \ -e PART_ID=0 \ -e BUILD_ID=1 \ -e ROOM_ID=101 \ -e ROOM_URL="https://yktyd.ecust.edu.cn/epay/wxpage/wanxiao/eleresult?sysid=1&roomid=101&areaid=2&buildid=1" \ nakiripolaris/nakiri-electricity:latest
访问地址: http://localhost:8080
如果你使用的是非AMD64架构的系统,或运行时报错,可在项目根目录下运行:
docker build -t nakiri-electricity .
📂 项目结构
.
├── src/ # React 前端源码
│ ├── App.jsx # 主应用逻辑 (UI, 数据计算, 图表)
│ ├── main.jsx # 入口文件
│ └── index.css # Tailwind 样式配置
├── dist/ # 构建后的静态文件 (由 npm run build 生成)
├── data/ # 数据库存储目录
├── server.js # Express 后端入口 & API 定义
├── scraper.js # 爬虫逻辑 (Axios)
├── database.js # SQLite 数据库连接与初始化
├── Dockerfile # Docker 构建文件
├── package.json # 项目依赖配置
├── vite.config.js # Vite 配置 (含 API 代理)
└── tailwind.config.js # Tailwind 配置
去你充值电费的页面:信息办公众号(华理信管中心)- 微门户 - 电费充值 - 选择你的房间 - 进到充值界面(如图) 右上角三个点,复制链接(复制的就是需要的URL)
示例配置:
server { listen 443 ssl; listen [::]:443 ssl; server_name URL; #替换成你的域名 ssl_certificate /etc/nginx/ssl/URL.cer; #证书位置 ssl_certificate_key /etc/nginx/ssl/URL.key; #私钥位置 ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers off; location / { proxy_pass http://IP:PORT; #替换成你的IP和端口(如:http://192.168.1.2:8080) proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
本项目已在Github上开源:https://github.com/Polaris-Leo/Nakiri-Electricity-Docker
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务