Skip to content

hostemail/EmbyManager

Repository files navigation

Emby User Manager

License: MIT Go Version Status Emby

一个面向 Emby 媒体服务器的轻量级用户管理平台,提供可视化的用户注册、审批与权限管理能力,实现本地系统与 Emby 服务的深度集成。

🎯 核心功能

👥 用户管理系统

  • 自助注册:用户可通过 Web 表单自主提交注册信息。
  • 审批机制:管理员对注册申请进行审核,保证用户质量与访问合规性。
  • 状态管理:支持 待审批、已批准、已拒绝、已过期 四类状态。
  • 生命周期管理:从注册、启用、过期到清理的全流程管理能力。

🔌 Emby 深度集成

  • 自动同步:用户经审批通过后将在 Emby 服务端自动创建并同步账号。
  • 权限模板:支持从模板用户复制权限配置,提升管理效率。
  • 状态联动:本地操作(启用/禁用)可实时同步至 Emby 用户状态。
  • 连接监控:实时检测 Emby 服务可用性,提升系统可靠性。

🛡️ 安全管理

  • 管理员认证体系:独立的管理后台与管理员登录机制。
  • 强制密码更新:首次登录需修改默认密码,强化账号安全。
  • Token 认证:API 接口采用 Token 机制保护。
  • 密码加密:bcrypt 强加密存储用户密码。

✨ 特色亮点

🚀 自动化工作流

用户注册 → 管理员审批 → 创建 Emby 用户 → 权限复制 → 账号启用

📊 智能管理面板

  • 实时统计:可视化用户数据与服务状态
  • 批量操作:支持批量审批与批量管理
  • 状态监控:用户状态清晰显示
  • 过期提醒:自动检测与更新过期用户

🎨 现代化界面体验

  • 响应式布局:适配桌面端与移动端
  • 简洁 UI:卡片式布局与渐变风格
  • 实时反馈:操作结果即时提示
  • 流畅动画:提升交互体验

🛠️ 技术架构

后端技术栈

  • Golang – 高性能后端编程语言
  • Gin – 轻量级 Web 框架
  • GORM – ORM 数据库框架
  • SQLite – 嵌入式轻量数据库
  • Resty – HTTP Client

前端技术栈

  • HTML5 + CSS3 + JavaScript
  • 渐变风格、动画效果、模块化前端结构

📦 快速开始

环境要求

  • Go 1.19+
  • Emby Server 4.7+

克隆项目

git clone https://github.com/your-repo/emby-user-manager.git
cd emby-user-manager

配置文件示例(config.yaml)

server:
  port: 8080
  debug: true

emby:
  server_url: "http://your-emby-server:8096"
  api_key: "your_emby_api_key"
  template_user_id: "template_user_id"

database:
  path: "./data/users.db"

security:
  default_expiry_days: 30
  admin_approval_required: true

编译与运行

go mod tidy
go build -o emby-user-manager main.go
./emby-user-manager

访问路径

用户注册:   http://localhost:8080/
管理后台:   http://localhost:8080/admin

默认管理员账号:

  • 用户名:admin
  • 密码:leifeng@2025

🔧 配置说明

Emby配置

  • server_url:Emby 服务地址,可以内网IP或外网域名
  • api_key:Emby 后台生成的 API Key
  • template_user_id:用于复制权限的模板用户 ID

系统配置

  • default_expiry_days:新用户默认有效期限(如30天)
  • admin_approval_required:是否开启管理员审批机制

🐳 Docker 部署示例

本项目提供开箱即用的 Docker 运行方案,适用于生产环境与个人部署场景。

使用 Docker 快速启动

docker run -d \
  --name emby-user-manager \
  -p 8080:8080 \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/configs:/app/configs \
  vipsir/embymanager:latest

Docker Compose 示例

version: '3'
services:
  emby-user-manager:
    image: vipsir/embymanager:latest
    container_name: emby-user-manager
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
      - ./configs:/app/configs
    restart: unless-stopped

🎮 典型使用场景

企业媒体库

  • 员工申请访问媒体资料库
  • 管理员集中审批并统一管理权限
  • 定期清理过期账户

家庭媒体服务器

  • 为每位家庭成员创建独立账号
  • 控制不同用户访问不同媒体内容
  • 管理访客账号与临时访问

教育机构

  • 学生申请课堂资源访问账号
  • 教师审批并管理权限
  • 学期结束后自动过期

🐳 📸 界面预览

69dea07bfa75182c0a35033c9e1a11f9 03477d4f23e2a82375b1cd08ec1c4d5b 83997b1d09f604f0efbab03e47ba0573 f0105109f89e3eba167fa2887bc6d7c2


🤝 贡献指南

欢迎各类贡献!

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/AmazingFeature
  3. 提交更改:git commit -m 'Add some AmazingFeature'
  4. 推送分支:git push origin feature/AmazingFeature
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT License,详情请查看 LICENSE 文件。

🙏 致谢

  • Gin – 高效的 Go Web 框架
  • GORM – 功能完善的 ORM 库
  • Emby Server – 强大的媒体服务器

📞 支持与反馈

如有问题或改进建议:

让 Emby 用户管理更简单、更自动化、更高效! 🚀

如果你觉得有帮助,请动动手给一个 ⭐️!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published