ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

openGym管理员后台完全指南:邀请码、审计日志与用户管理

openGym管理员后台完全指南:邀请码、审计日志与用户管理 openGym管理员后台完全指南邀请码、审计日志与用户管理【免费下载链接】openGymSelf-hosted gym body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGymopenGym 是一款自托管的健身房与体重记录应用而它的管理员后台是多人使用实例的运营中枢用邀请码控制谁能注册、用审计日志追踪每次登录与管理员操作、用用户管理功能查看、停用或删除任何账户。本指南带你 10 分钟掌握这三项核心能力让你的实例安全可控。一、管理员后台是什么 管理员后台Admin dashboard是 openGym 面向实例管理员的运营页面由一组卡片组成覆盖运行实例的全部关键信息总览指标用户总数、正在训练的人数、7 天内活跃数、被停用的账户数正在训练谁此刻正在做哪组动作实时刷新邀请码卡片生成、复制、吊销注册邀请码用户列表点击任一用户查看其训练概况活动日志登录成功/失败、注册被拒、管理员操作全记录这个页面刻意只展示统计数字不会泄露任何人的具体训练数据。界面源码位于 frontend/src/views/Admin.jsx对应的接口定义在 api/openapi.yaml 的 admin 标签组中。二、三步开启管理员权限 ⚙️openGym 默认是开放注册、无管理员模式。开启后台只需三步先注册自己的账户passkey 档案复制你的账户 ID进入设置 → 账户 → Account ID点一下即可复制它也存在./data/db.json的users[].id字段中在.env中设置ADMIN_UIDS你的账户ID多个管理员用逗号分隔重启实例完成后你的设置页面会出现Admin dashboard入口。管理员权限由你的 passkey 把关并在服务端二次校验无需独立登录。完整步骤见官方文档 docs/SELF_HOSTING.md 的「Multiple users」章节。三、邀请码控制谁能注册 想让健身房实例只对熟人开放在.env中加入INVITE_ONLY1—— 新账户必须持有邀请码才能创建档案ALLOW_GUEST0—— 同时移除「无账户继续使用」的访客按钮访客模式数据从不上服务器在封闭实例里没有意义在后台的Invite codes卡片中操作说明New code一键生成 16 位一次性邀请码并自动复制到剪贴板点击代码随时复制未使用的代码删除图标吊销未使用的代码已兑换的代码不可吊销Already used 区展示已用代码对应的是哪位用户邀请码是一次性的用掉即失效切换到邀请制后已有账户完全不受影响。四、审计日志谁登录了、谁失败了 ️Activity log审计日志记录四类事件登录/登出、失败尝试、被拒绝的注册以及所有管理员操作停用账户、创建/吊销邀请码、清空日志本身。日志以「每行一个 JSON 对象」的形式存在./data/audit.log面板与命令行读的是同一份文件——你可以直接tail -f data/audit.log配合jq分析。日志条目的人话翻译规则在 frontend/src/lib/audit.js 中涵盖从auth.login.fail到admin.invite.revoke的全部事件类型。关键配置均在.env变量默认值作用AUDIT_LOG开启设为0完全关闭审计AUDIT_MAX5000最多保留的事件条数AUDIT_DAYS90最长保留天数AUDIT_IPoff设为net只记网段、full记完整 IP几个值得注意的隐私设计默认不记录 IP也从不存储浏览器指纹或失败登录的 passkey ID访客从不出现——访客模式与服务器零通信被停用的账户会「安静」下来它只会留下持续失败的登录尝试清空日志本身也会被记录且事件 ID 连续计数任何缺口都一目了然面板上可按All / Sign-ins / Admin / Failed四个标签筛选失败事件会以红色failed徽章标出——连续误触 Face ID 也不会被渲染成「安全事件」只是一排红色小徽章。五、用户管理查看、停用与删除 点击用户列表中的任意一行进入用户详情页概况工作锻炼数、体重记录数、计划数、最近同步时间标签admin、disabled、邀请码来源、密码登录、注册日期一目了然训练历史最近 60 次锻炼的名称、日期、时长与总量三种核心操作破坏力递增停用账户Disable—— 对方在所有设备登出、无法再登录和同步但数据原封保留随时可一键重新启用。这是日常首选。导出数据Download their data—— 把该用户的完整档案导出为 JSON 文件。删除前强烈建议先做这一步。删除账户Delete—— 全应用唯一的破坏性操作因此要求两次确认抹掉其全部锻炼、体重、计划、passkey 与推送通知不可恢复。若实例开启了密码登录PASSWORD_LOGIN1管理员还可以为用户生成一次性重置码代码只显示一次、24 小时有效、仅以哈希存储发放后旧密码立即失效、用户全局登出但其 passkey 仍可正常使用。管理员账户之间无法互相重置防止权限越权。六、数据存在哪里、如何备份 所有数据都集中在宿主机项目的./data目录文件内容db.json档案与 passkey 公开数据state-user.json每个用户的计划、锻炼、体重与设置audit.log管理员审计日志secret会话 cookie 签名密钥备份只需打包整个目录例如tar czf opengym-backup-$(date %F).tar.gz data/恢复时解回项目目录即可。由于 passkey 私钥从不上服务器留在手机安全硬件或密码管理器中./data就是你实例的全部家当。七、安全小贴士 邀请码本身是 64 位随机值防猜测靠的是长度暴力尝试的拦截交给反向代理的限流管理员路由全部在服务端强制校验401/403前端隐藏页面不算安全边界登录失败节流按账户地址双维度计数切换登录名称也绕不开暂停更多细节可查阅 SECURITY.md 与 docs/SELF_HOSTING.md写在最后邀请码管住大门审计日志看住动静用户管理兜住善后——三张卡片加起来就是 openGym 管理员后台的全部。对于家庭健身房、跑团或小型团队来说这套纯.env配置 面板操作的方案足够以最小成本守住你的自托管健身实例。【免费下载链接】openGymSelf-hosted gym body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGym创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表