版本说明

当前版本: v4.0.14-Rabbit
更新日期: 2025-12-27


快速部署

方式一:一键安装脚本(推荐)

bash -c "$(curl -fsSL https://install.embyuserhub.cc/embyuserhub_install.sh)"

脚本会自动:

  • 生成并保存 FLASK_SECRET_KEY(重装后保持一致)

  • 创建数据目录

  • 拉取最新镜像

  • 启动容器


方式二:Docker Compose

  1. 创建 docker-compose.yml

version: '3'
services:
  embyuserhub:
    image: maxiaotuhub/embyuserhub:latest
    container_name: embyuserhub
    hostname: embyuserhub
    restart: always
    ports:
      - "29045:29045"
    volumes:
      - /opt/embyuserhub/data:/app/data
      - /opt/embyuserhub/config:/app/config
      - /etc/machine-id:/host/machine-id:ro
    environment:
      - TZ=Asia/Shanghai
      # 32位随机密钥,可直接使用或自行生成: head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32
      - FLASK_SECRET_KEY=EmbyUserHub2025SecretKey1234567
      - ENABLE_SECURITY_ACCESS=True
      - CRON_MODE=thread
  1. 启动:

# 创建目录
mkdir -p /opt/embyuserhub/{data,config}

docker-compose up -d

方式三:Docker Run

# 创建目录
mkdir -p /opt/embyuserhub/{data,config}

# 生成密钥(首次安装)
FLASK_KEY=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
echo "你的 FLASK_SECRET_KEY: $FLASK_KEY"
echo "⚠️ 请保存此密钥,重装时需要使用相同的值!"

# 启动容器
docker run -d \
  --name embyuserhub \
  --hostname embyuserhub \
  --restart always \
  -p 29045:29045 \
  -v /opt/embyuserhub/data:/app/data \
  -v /opt/embyuserhub/config:/app/config \
  -v /etc/machine-id:/host/machine-id:ro \
  -e TZ=Asia/Shanghai \
  -e FLASK_SECRET_KEY=${FLASK_KEY} \
  -e ENABLE_SECURITY_ACCESS=True \
  -e CRON_MODE=thread \
  maxiaotuhub/embyuserhub:latest

⚠️ 重要:关于 FLASK_SECRET_KEY

FLASK_SECRET_KEY 是系统的核心密钥,用于:Flask 会话加密

必须遵守的原则

场景

处理方式

首次安装

生成唯一的 32 位随机字符串

密钥不一致会导致

  • ❌ 系统状态重置

  • ❌ 用户登录会话失效

  • ❌ 需要重新配置部分设置


镜像仓库

仓库

地址

说明

Docker Hub

maxiaotuhub/embyuserhub

推荐

GitHub Container

ghcr.io/maxiaotu/embyuserhub

备用

标签说明

标签

说明

latest

最新稳定版

x.x.x.xxx

指定版本号

x.x.x.xxx.Beta

测试版


环境变量

变量

必填

说明

默认值

FLASK_SECRET_KEY

会话加密密钥(32位)

-

TZ

时区

Asia/Shanghai

ENABLE_SECURITY_ACCESS

启用安全访问码

True

CRON_MODE

定时任务模式

thread

LOG_LEVEL

日志级别

INFO


卷挂载

宿主机路径

容器路径

说明

/opt/embyuserhub/data

/app/data

数据库、授权文件

/opt/embyuserhub/config

/app/config

配置文件、密钥保存

⚠️ 卸载时保留 data 和 config 目录可以保留所有数据


更新升级

一键安装脚本用户

运行脚本选择「更新」选项即可。

Docker Compose 用户

# 拉取最新镜像
docker-compose pull

# 重启容器
docker-compose up -d

Docker Run 用户

# 停止并删除旧容器
docker stop embyuserhub && docker rm embyuserhub

# 拉取最新镜像
docker pull maxiaotuhub/embyuserhub:latest

# 使用相同参数重新启动(注意使用相同的 FLASK_SECRET_KEY)
docker run -d \
  --name embyuserhub \
  --hostname embyuserhub \
  --restart always \
  -p 29045:29045 \
  -v /opt/embyuserhub/data:/app/data \
  -v /opt/embyuserhub/config:/app/config \
  -v /etc/machine-id:/host/machine-id:ro \
  -e TZ=Asia/Shanghai \
  -e FLASK_SECRET_KEY=你之前的密钥 \
  -e ENABLE_SECURITY_ACCESS=True \
  -e CRON_MODE=thread \
  maxiaotuhub/embyuserhub:latest

访问地址

页面

地址

用户中心

http://IP:29045

管理后台

http://IP:29045/安全访问码

默认用户

admin

默认密码

admin123

默认安全访问码:admin123(请在:/opt/embyuserhub/config/config.py)配置


常见问题

1. 重装后需要重新配置

原因:重装后 FLASK_SECRET_KEY 与之前不一致

解决

  • 使用一键安装脚本(自动管理密钥)

  • 或手动确保每次部署使用相同的密钥

2. 端口冲突

解决:修改端口映射为其他端口:

# 使用其他端口(如 29046)
-p 29046:29045

3. 数据迁移

  1. 复制 /opt/embyuserhub/data/opt/embyuserhub/config 到新服务器

4. 忘记密码/安全码

方法一:使用一键安装脚本(推荐)

# 运行脚本,选择 6 进入"登录问题/密码重置"
bash embyuserhub_install.sh

菜单选项:

  • 1 - 查看安全配置状态

  • 2 - 重置管理员密码

  • 3 - 重置安全访问码

  • 4 - 重置两步验证(TOTP)

  • 6 - 完全重置(恢复默认)

方法二:手动重置

# 使用 Python 脚本重置(在宿主机执行)
docker exec embyuserhub python3 -c "
import sys
sys.path.insert(0, '/app')
from utils.config_store import SecureConfigStore
config_store = SecureConfigStore()
config = config_store.load_config()
config['ADMIN_PASSWORD'] = '新密码'
config['SECURITY_CODE'] = '新安全码'
config_store.save_config(config)
print('密码和安全码已重置')
"

# 重启容器生效
docker restart embyuserhub

方法三:完全重置(恢复默认值)

# 删除动态配置文件后,系统将使用 config.py 中的默认值
rm -f /opt/embyuserhub/data/secure_config.json

# 重启容器
docker restart embyuserhub

重置后使用 config.py 中的默认值:

  • 用户名:admin

  • 密码:admin123

  • 安全码:admin123