Private Web App (PWA)

🏠 自托管插件化个人仪表板

自托管个人仪表板,支持插件化扩展、PWA 推送与系统监控,适合极客自建家庭服务中枢。

收藏
4.9k
安装
1.3k
版本
1.0.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

PrivateApp 是一个面向技术用户的个人 PWA 仪表板,采用 FastAPI + React/Vite 技术栈,支持插件化架构。用户通过 scripts/install.sh 一键完成环境初始化(Python 3.9+、Node.js 18+),服务以 systemd 用户服务或 macOS launchd 形式常驻运行。核心工作流包括:克隆仓库 → 配置 config.json → 启动服务 → 按需构建前端 → 开发/安装新应用插件。

显著优点

  • 架构清晰:前后端分离,FastAPI 提供高性能异步 API,React SPA 实现流畅交互
  • 插件生态:标准化目录结构(app.json + backend/routes.py + frontend/),自动发现加载
  • 原生推送:内置 VAPID Web Push,支持跨平台消息推送
  • 自托管友好:systemd/launchd 集成、SQLite 单文件数据、无需 Docker 即可运行
  • 移动端优化:CSS 变量深色模式、输入框防 iOS 缩放等细节完善

潜在局限

  • 技术门槛高:需同时熟悉 Python 后端与 Node.js 前端构建流程
  • 安全依赖手动配置:未内置 HTTPS、鉴权、CSP 等生产级安全策略
  • 单用户设计:无多账户隔离,不适合家庭共享或团队场景
  • 插件质量参差:社区生态尚处早期,缺乏审核机制
  • 数据风险:SQLite 与文件浏览功能若配置不当可能导致目录遍历

适合人群

Linux/macOS 开发者、Homelab 爱好者、希望自建仪表板替代 Heimdall/Flame 的技术用户,以及学习 FastAPI + React 全栈开发的进阶学习者。

常规风险

  • 默认监听 0.0.0.0 若暴露公网且无 HTTPS,存在中间人攻击风险
  • 文件浏览器 root: "~" 配置过于宽泛,可能泄露敏感文件
  • VAPID 私钥以明文存储于 ~/.local/share/privateapp/,需确保目录权限严格
  • 插件代码自动加载,恶意插件可执行任意 Python 代码

Private Web App (PWA) 内容

apps文件夹
file-browser文件夹
backend文件夹
frontend文件夹
src文件夹
system-monitor文件夹
backend文件夹
frontend文件夹
src文件夹
frontend文件夹
public文件夹
src文件夹
pages文件夹
scripts文件夹
commons文件夹
手动下载zip · 103.3 kB
routes.pytext/plain
请选择文件